我有一个ASP.NET Core Web API应用程序,并且为了保护它的安全,我已经实现了JWT Bearer
身份验证。下一步是管理用户访问权限并颁发JWT
令牌。
最初,我考虑使用Azure AD B2C,但它似乎不支持我的业务要求。因此,我现在正在考虑使用Identity Server 4。
Identity Server 4是否作为完全独立的应用程序运行?另外,我是否正确理解它用作:
JWT
令牌换句话说,Identity Server 4是否充当我自己的Azure AD B2C服务?
IdentityServer 4是一个Web应用程序(“登录”和“注销”页面),具有实现OAuth 2.0和OpenID Connect规范的API。这些示例提供了简单的用户登录和注销视图,您可以根据自己的喜好更改视图。
关于用户注册过程,可以将其添加到IdentityServer4实现中,或将其作为单独的Web应用程序使用。
与Azure AD B2C的相似之处
这来自另一篇博客文章
授权书
Azure AD B2C允许您将用户角色建模为您定义的组中的成员身份。当前您无法获得包含这些声明的令牌,但是您可以使用Azure AD Graph API作为一种变通方法来检索组成员身份,并将其用于应用程序内部的授权检查。现在有些棘手,但是B2C团队的路线图对此有所改进。
API认证
Azure AD B2C可以提供用于通过OpenID Connect验证API访问身份的令牌,但除此之外,功能受到限制。不支持OAuth 2.0客户端凭据流,并且B2C不包含任何API密钥管理功能,因此,如果您的服务需要支持API密钥身份验证,则需要滚动自己的代码。
有关PROS for IdentityServer4的另一篇文章。
IdentityServer 4是一个身份验证框架,能够为您的API提供开箱即用的单点登录(SSO)和安全性,并且最近支持实现自己的身份验证协议和令牌,并提供了WS-Federation协议和SAML令牌的示例实现。 。SSO适用于所有应用程序,无论它们使用的是OpenID Connect还是WS-Federation。
概要
IdentityServer4与Azure AD B2C相似,具有更多功能,如链接文章中所述。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句