Asp.net web api Identity Server作为Web API或单独应用程序的一部分

Asp.net web api Identity Server作为Web API或单独应用程序的一部分,asp.net-web-api,asp.net-identity,identityserver4,Asp.net Web Api,Asp.net Identity,Identityserver4,我有一个ASP.NET核心Web API应用程序,为了保护它,我实现了JWT Bearer身份验证。下一步是管理用户访问并发出JWT令牌 最初我考虑使用Azure AD B2C,但它似乎不支持我的业务需求。所以我现在正在考虑使用Identity Server 4 Identity Server 4是否作为一个完全独立的应用程序运行?此外,我是否正确理解它被用作: 供用户注册和登录的web界面 也是一个带有API的web应用程序,可发布JWT令牌 换句话说,Identity Server 4是否“

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

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

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

  • 供用户注册和登录的web界面
  • 也是一个带有API的web应用程序,可发布
    JWT
    令牌

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

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

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

    与Azure广告B2C的相似之处

    这来自另一个博客

    授权书

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

    API认证

    Azure AD B2C可以通过提供令牌来验证API访问 OpenID连接,但除此之外,功能是有限的。这个 OAuth 2.0客户端凭据流不受支持,B2C也不受支持 包括任何API密钥管理功能,因此您需要 如果您的服务需要支持API密钥身份验证,请使用自己的代码

    另一个是针对IdentityServer4的PROS

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

    摘要


    IdentityServer4类似于Azure AD B2C,具有链接文章中提到的更多功能。

    您的所有假设都是正确的。