Identity Server作为Web API或单独应用程序的一部分

时间:2017-10-23 05:09:34

标签: asp.net-web-api asp.net-identity identityserver4

我有一个ASP.NET Core Web API应用程序并为了保护它,我已经实现了JWT Bearer身份验证。下一步是管理用户访问并发出JWT令牌。

最初我考虑过使用Azure AD B2C,但它似乎不支持我的业务需求。所以我现在正在考虑使用Identity Server 4.

Identity Server 4是否作为完全独立的应用程序运行?另外,我是否正确地理解它被用作:

  1. 用户注册和登录的网络界面
  2. 此外,还有一个发布JWT令牌
  3. 的API的网络应用

    换句话说,Identity Server 4是否“充当”我自己的Azure AD B2C服务?

1 个答案:

答案 0 :(得分:0)

IdentityServer 4是一个Web应用程序(登录和登录页面),其中包含一个实现OAuth 2.0和OpenID Connect规范的API。 samples提供了一个简单的用户登录和注销视图,您可以根据自己的喜好进行更改。

关于用户注册过程,您可以将其添加到IdentityServer4实现或将其作为单独的Web应用程序。

与Azure AD B2C的相似之处

这来自另一篇博客article

授权

  

Azure AD B2C允许您将用户角色建模为组中的成员身份   你定义的。您目前无法获得包含这些令牌的令牌   声明,但您可以使用Azure AD Graph API作为解决方法   检索组成员身份,并在授权检查中使用它们   在你的申请中。现在这有点棘手,但是   对此的改进是在B2C团队的路线图上。

API身份验证

  

Azure AD B2C可以提供令牌以通过身份验证API访问   OpenID Connect,但除此之外功能有限。该   不支持OAuth 2.0 Client Credentials流,B2C则不支持   包括任何API密钥管理功能,因此您需要滚动您的   如果您的服务需要支持API密钥身份验证,则拥有自己的代码。

另一个article具有IdentityServer4的PROS。

  

IdentityServer 4是一个能够使用的身份验证框架   框单点登录(SSO)和API的安全性,以及最近的   支持实现自己的身份验证协议和令牌,   以及WS-Federation协议和SAML的示例实现   令牌。 SSO适用于所有应用程序,无论它们是否适用   正在使用OpenID Connect或WS-Federation。

<强>摘要

IdentityServer4与Azure AD B2C类似,具有更多功能,如链接文章中所述。