移动和 Web 应用程序的 Identity Server3 身份验证
Posted
技术标签:
【中文标题】移动和 Web 应用程序的 Identity Server3 身份验证【英文标题】:Identity Server3 Authentication for both Mobile and Web Application 【发布时间】:2017-05-09 09:08:43 【问题描述】:我需要使用 JWT 令牌为 mvc Web 应用程序和移动应用程序实现身份验证机制。用户将能够注册到我们的数据库并使用凭据(来自注册)或使用 facebook 单点登录进行身份验证。两个应用程序都将使用 Web API 与 JWT 令牌进行数据交换。我正在考虑使用 Identity Server 3 来使用 Resource Owner Flow,对此我有一些疑问:
1) 用户将从移动应用程序登录并获得一个 jwt 令牌。移动应用程序将验证其有效性并在需要时刷新。为了让移动应用程序让用户始终登录,我应该在设备上存储 refresh_token 吗???安全吗?
2) 我不明白我将如何处理 facebook 身份验证并从身份服务器获取 jwt 令牌。我应该先从 facebook 个人资料数据中获取用户电子邮件,然后呢???
谢谢
【问题讨论】:
【参考方案1】:1-您可以将刷新令牌存储在数据库中(身份服务器提供令牌存储) 您还可以使用第三方库将令牌安全地存储在设备中。
2-要使用第 3 方登录,您需要对 IdSvr 登录页面执行重定向样式。使用资源所有者密码流意味着您会错过令牌服务中的所有功能,例如 SSO、2fa 和联合身份验证。
【讨论】:
我理解你的意思,但我不太关心 SSO 和所有其他功能。我认为最重要的想法是在没有重定向的情况下拥有良好的用户体验。以上是关于移动和 Web 应用程序的 Identity Server3 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
Win10下MySql ASP.NET Identity意外绑定SQL Server
将 .Net Core Identity 和 OIDC 与多个 .Net Core Web API 结合使用
Cors Policy 问题 Blazor WASM、Web API 和 Identity Server 4 和 IIS