【问题标题】:Issuing a Bearer JWT Token using Identity Core使用 Identity Core 发行不记名 JWT 令牌
【发布时间】:2016-11-20 06:20:50
【问题描述】:

我有一个移动应用程序使用 RESTful 调用 ASP.NET Core api 和 Angular 2 应用程序,它也在执行 RESTful 调用。我也在使用 Identity Core 对用户进行身份验证(Identity 3.0)。

我想基于身份框架颁发不记名令牌并使用资源所有者密码凭据授予对用户进行身份验证(这只是为我的网站提供用户名和密码,它将颁发一个令牌,因为这是一个受信任的环境)。

  • 在 ASP.NET CORE 1.0 RTM 中是否有简单的配置来执行此操作?
  • AspNet.Security.OpenIdConnect.Server 我正在看这个,它看起来像 OpenIdDict 的一个较小版本,但作者提到它是用于 Owin/Katana,我没有使用任何。
  • OpenIdDict 是一个执行此操作的框架,但首先它是 Alpha 版本,其次它需要一个单独的网站,这将导致额外的维护和性能损失,以通过 HTTP 与另一台服务器进行通信。
  • IdentityServer4 对于我想要实现的目标来说看起来太大了,我不确定它是否与 Identity Core 集成,我只对密码授权感兴趣。而且它看起来需要一个单独的网站。

如果您能阐明以上几点,并让我知道这些是我唯一的选择还是我遗漏了什么,我将不胜感激。

我不想成为公共身份提供者,我只想为自己的用户颁发令牌。

【问题讨论】:

    标签: oauth-2.0 asp.net-identity asp.net-core-mvc openid-connect aspnet-contrib


    【解决方案1】:

    AspNet.Security.OpenIdConnect.Server 我正在看这个,它看起来像 OpenIdDict 的一个较小版本,但作者提到它是用于 Owin/Katana,我没有使用任何。

    AspNet.Security.OpenIdConnect.Server(代号为 ASOS)并不是真正的“OpenIddict 的小版本”,而是一个低级 OAuth2/OpenID Connect 服务器框架,您可以使用它来构建自己的授权服务器/身份提供者。

    它不依赖于任何成员堆栈(如 ASP.NET Core Identity),并且可以虚拟添加到任何现有环境中。

    请注意,虽然有 OWIN/Katana 版本(命名为 Owin.Security.OpenIdConnect.Server),但主要的位目标是 ASP.NET Core,并且当然与 .NET Desktop 和 .NET Core 兼容。

    如果您想了解有关此项目的更多信息,我建议您阅读此博客文章系列: http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-introduction


    OpenIdDict 是执行此操作的框架,但首先它是 Alpha 版本,其次它需要一个单独的网站,这将导致额外的维护和性能损失,以通过 HTTP 与另一台服务器进行通信。

    虽然 OpenIddict 确实仅作为预发布 alpha 版本提供,但在单独的项目中使用它不是强制性的(甚至不推荐):您当然可以将其添加到您的主项目中.

    由于您正在尝试实施 ROPC 授权,我建议您阅读以下博文:

    IdentityServer4 对于我想要实现的目标来说看起来太大了,我不确定它是否与 Identity Core 集成,我只对密码授权感兴趣。而且它看起来需要一个单独的网站。

    AFAIK,IdentityServer4 不提供任何官方的 IdSrv/Identity 集成(还没有?),但我很确定社区已经开发了一些桥梁。

    【讨论】:

      猜你喜欢
      • 2020-10-19
      • 2016-09-25
      • 2016-03-06
      • 2020-08-31
      • 2022-11-26
      • 2021-04-29
      • 2015-08-13
      • 2017-10-26
      • 2020-05-14
      相关资源
      最近更新 更多