使用ASP.NET Identity 3进行第三方身份验证

时间:2015-11-13 10:30:21

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

我使用ASP.NET 5 / CoreCLR构建WebAPI项目。我已经实现了Identity 3,并且工作正常。我计划允许用户从浏览器或应用程序(移动设备或第三方,如Kodi或foobar2000)使用WebAPI。

我想允许"行政"帐户任务(更改密码,删除内容等)仅来自浏览器,而不是来自第三方。应用程序应该只能访问受限数量的控制器或操作。最重要的是,我希望用户能够更轻松地对自己进行身份验证。我不希望他们将他们的登录名和密码放在应用程序中(因为这些凭据允许在他们的帐户上执行管理任务)。理想情况下,我想添加第三方应用程序"认证。由于行动不会敏感,我想提供生成" API密钥的能力。这将是短暂的。

我正在考虑一个工作流程,用户可以从浏览器转到他们的帐户页面,点击"生成第三方凭据",并获得一个长度为6或8个字符的字符串来自第三方应用程序。我稍后可能会申请一些HMAC。

我想知道的是什么是适当的' (概念上)在身份3之上实现它的方式。例如,是否可以创建与用户绑定的身份声明?

1 个答案:

答案 0 :(得分:0)

也许你可以为人类用户使用两个单独的帐户,为app-user使用第二个帐户?你可以使用Claims-Based Authorization

  

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

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

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

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