【问题标题】:Third-party authentication using ASP.NET Identity 3使用 ASP.NET Identity 3 的第三方身份验证
【发布时间】:2015-11-13 10:30:20
【问题描述】:

我正在使用 ASP.NET 5/CoreCLR 构建一个 WebAPI 项目。我已经实现了 Identity 3,效果很好。我计划允许用户从浏览器或应用程序(移动设备或 Kodi 或 foobar2000 等第三方)使用 WebAPI。

我想只允许来自浏览器而不是来自第三方的“管理”帐户任务(更改密码、删除内容等)。应用程序应该只能访问有限数量的控制器或操作。最重要的是,我想让用户更容易进行身份验证。我不希望他们将登录名和密码放在应用程序中(因为这些凭据允许对他们的帐户执行管理任务)。理想情况下,我想添加一个“第三方应用程序”身份验证。由于这些操作不会很敏感,因此我正在考虑提供生成“API 密钥”的能力,这会很短。

我正在考虑一种工作流程,用户可以从浏览器转到他们的帐户页面,单击“生成第三方凭据”,然后从第三方应用程序中获取一个 6 或 8 个字符长的字符串以供使用。稍后我可能会应用一些 HMAC。

我想知道的是,在 Identity 3 之上实现它的“正确”(概念上)方法是什么。例如,是否有可能创建与用户绑定的身份声明?

【问题讨论】:

  • 你在这里问什么,它来设计你的整个身份验证场景。我建议先尝试这样做,然后再问我们更具体的问题。这个问题太宽泛了,无法简单回答。
  • 是和不是。我主要是在寻求有关如何按照 Microsoft 预期的方式进行操作的指示。欢迎任何有关扩展 Identity 3 的文档或博客文章。
  • 我建议使用beta8 工具来进行File > New Project。然后,如果您需要自定义 SSO,请查看 IdentityServer。此链接也可能有帮助:jerriepelser.com/blog/…

标签: asp.net-core asp.net-core-mvc asp.net-identity-3


【解决方案1】:

也许您可以使用两个单独的帐户,一个用于人类用户,第二个用于应用程序用户?你可以使用Claims-Based Authorization

我正在考虑一个工作流程,用户可以从浏览器转到他们的帐户页面,点击“生成第三方凭据”

在此操作下,您可以为应用创建第二个帐户并使用声明将它们与用户帐户相关联。

对于您的应用,它将是两个不同的身份验证/授权帐户,但从用户的角度来看,它可以是一个帐户。

之后,您就可以使用ASP.NET5 Authorization 来清楚简单地使用解决方案了。

【讨论】:

    猜你喜欢
    • 2016-04-23
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    相关资源
    最近更新 更多