【问题标题】:How to implement an OpenId Provider in .net Framework without OWIN如何在没有 OWIN 的 .net 框架中实现 OpenId 提供程序
【发布时间】:2018-04-12 17:31:36
【问题描述】:

我正在开发一些与 .net 框架应用程序交互的小型服务。这些服务具有需要身份验证的 UI 组件并将单独托管,但我们需要使用现有的登录页面。我希望将 IdentityServer4 设置为授权机构,并将遗留应用程序设置为 OIDC 提供者。

问题是我还没有找到任何关于如何在 .net 框架中执行此操作的信息。我无法将遗留应用程序转换为使用 .net 核心或 owin 托管,这排除了 identityserver3/4 作为提供者。 DotNetOpenAuth 没有被认证为提供者,并且似乎没有提供标准的 openid 接口。

我可以使用哪些库或模式来解决这个问题?

编辑:经过一些审查,我主要寻找的是一个中间件,它可以让我将网络表单身份验证转换为 OIDC 身份。

【问题讨论】:

  • OpenId Provider 应该是独立的 Web 应用程序,因此在这种情况下,您可以将 ASP.NET Core 与 OWIN 一起使用,无需将其放入旧应用程序中

标签: c# asp.net oauth-2.0 openid-connect identityserver4


【解决方案1】:

嗯..你可以先阅读http://openid.net/specs/openid-connect-core-1_0.html..

一个月前我遇到了同样的问题..

可能有 4-6 个规范文档依赖于此。您还必须阅读这些内容(没有捷径),并且您可能希望从在 get 和 post 请求上制作序列图开始。

在所有这些中,阅读并实施一个小型 jwt 项目,这将有助于清除您对如何使用不记名令牌的概念(这涉及如何创建和验证不记名令牌)

一旦您了解 jwt 并随身携带序列图..您可以即兴创作并添加更多参数..OpenId 看起来会相对简单

另外,不要忘记使用第三方客户端(例如 postman 或 fiddler)测试您的应用程序。

希望这会有所帮助!一切顺利。

【讨论】:

  • 我有点担心滚动自己的授权流程。理想情况下,我想使用像 identityserver 这样的东西来降低我在实现中建立漏洞的风险。在您的研究中,您是否发现没有第三方库可以提供帮助?
猜你喜欢
  • 2014-04-27
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 2012-04-02
  • 1970-01-01
相关资源
最近更新 更多