【问题标题】:Retaining Forms Authentication with IdentityServer3使用 IdentityServer3 保留表单身份验证
【发布时间】:2015-09-14 22:32:15
【问题描述】:

我们目前在我们的组织中有一个典型的表单身份验证设置;登录页面位于帐户/登录等位置。我们希望保留这一点,但也希望开始使用 OAUTH2 保护我们的一些 API;本质上,我们是提供者。

通过阅读有关该主题的大量信息,不支持 Microsoft 的 OWIN OAUTH 实现向前推进(例如 vNext),并且不支持 OAUTH2 的所有流。 Thinktecture 的 identityserver3 似乎是目前“标准”和最完整的解决方案。

我似乎找不到将 identityserver3 与需要表单身份验证的现有应用程序一起使用的示例。

我们会考虑以两种不同的方式使用它;一种使用 javascript 的隐式流程,一旦用户登录到我们(使用表单身份验证)并且用户允许客户端访问特定范围,我们就允许第三方站点调用我们的 API。

我认为,另一个用例将使用授权代码流;客户会提出请求,以便它可以自动登录(很像使用 Facebook 登录 - 但使用 X 公司登录)或者如果登录我们的网站则已经登录。

对于这些场景的任何帮助将不胜感激。

【问题讨论】:

  • 您是否已经实施并开始使用 Identity Server?除了我希望 Identity Server 为移动应用程序提供表单身份验证之外,我正在尝试和你做同样的事情。

标签: oauth-2.0 forms-authentication thinktecture-ident-server identityserver3


【解决方案1】:

我认为在不更改现有登录名的情况下无法将您的应用切换到 OAuth。 我建议您使用带有自定义用户存储(https://identityserver.github.io/Documentation/docsv2/advanced/userService.html)的身份服务器来使用您当前的用户数据库。这样,身份服务器将使用您现有的登录帐户。

然后,您可以使用身份服务器通过 OAuth 保护您的 API。您可能还需要更改当前应用调用 API 的方式。这意味着当前应用程序的用户将被重定向到身份服务器的登录页面。您可以使用自定义视图标记您的登录页面,使其看起来类似于当前登录页面 (https://identityserver.github.io/Documentation/docsv2/advanced/customizingViews.html)

【讨论】:

  • 我们仍然需要为我们的网站保留基于 cookie 的身份验证
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 2016-08-14
  • 2013-10-30
相关资源
最近更新 更多