2

我有一个移动应用程序,它使用 RESTful 调用 ASP.NET Core apis 和 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 集成,我只对密码授权感兴趣。看起来它需要一个单独的网站。

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

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

4

1 回答 1

3

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-介绍


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

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

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

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

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

于 2016-07-17T18:37:35.267 回答