Avi*_*i-B 5 oauth hmac asp.net-web-api angularjs identityserver3
我试图构建一个在前端使用webapi 2和 angular js 1的应用程序。我一直在研究安全方面,尤其是基于令牌的安全性。
我可以找到很多东西,但它确实令人困惑要实现什么:OAuth、IdentityServer、HMAC 和 Auth0。
我检查了 HMAC 并通过控制台应用程序使用了 webapi。但是,我一直没能找到前端基于JS的框架使用webapi的项目(比如angular)。通常有很多代码的控制台应用程序。我想知道如何使用 Angular js 来做到这一点?
我检查了 IdentityServer,发现它的学习曲线对于像我这样的新手来说有点令人沮丧。我有现有用户和角色表的现有数据库。我想使用自己的并编写自己的身份验证逻辑,而不是使用 Identity 提供的默认表。但我也无法找到这些资源。
现在我可以看到一个 Auth0。现在在深入研究之前,我想确定它是否是 webapi 可取的身份验证和授权框架。
因为我被要求在项目中实施基于令牌的身份验证。我很难找出正确的方法和最简单的方法。我已经浪费了一个星期,仍然困惑我应该实施什么。因此,如果您有任何资源以优雅的方式执行了 webapi 安全性,请帮助我。
小智 0
首先,我不建议使用 HMAC 来保护您的 API。如果您的私钥被泄露。这意味着入侵者可以轻松访问您的服务!
IdentityServer4和Auth0都用作身份验证和授权框架(Oauth2和OpenID连接框架)。您还可以使用 SMAL、WS-federation 等。
如果使用Identityserver4,则需要自己维护服务器。它还涉及您需要具有 Oauth2.0 和 OpenID 连接协议的中级知识。如果您正在考虑生产应用程序,这意味着您还需要托管 Identityserver4。
转向 auth0,他们提供开箱即用的完整身份验证和授权,包括社交 IDP。您只需浏览他们的仪表板即可创建应用程序和资源等。如果您没有太多要求,则可以使用慷慨的免费套餐。
关于安全性,Auth0 和 Identityserver4 都是保护您的资源(API)和应用程序的绝佳而优雅的方式。
以下架构应该适用于 Identityserver4 和 Auth0:
GET /authorize?
client_id=[Client id]&
scope=[Scopes]&
response_type=[Response types]&
audience=[API Identifier]&
redirect_uri=[Redirect URI]&
state=abc&
nonce=xyz
http://docs.identityserver.io/en/latest/endpoints/authorize.html
https://auth0.com/docs/api-auth/tutorials/implicit-grant
身份验证成功后,您的应用程序将收到 idToken 和访问令牌。
从前端应用程序向 Web API 端点发出 HTTP 请求时,使用访问令牌作为授权标头。
在您的 API 服务器中,验证令牌并返回资源。您可以使用 ASPNET CORE 身份验证中间件来验证令牌。
http://docs.identityserver.io/en/latest/topics/apis.html
https://auth0.com/docs/api-auth
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |