我需要为mvc Web应用程序和移动应用程序实现带有JWT令牌的身份验证机制。用户将能够注册到我们的数据库并使用凭据(来自注册)或使用Facebook单点登录进行身份验证。两个应用程序都将使用Web API与JWT令牌进行数据交换。我正在考虑使用资源所有者流程使用Identity Server 3,我对此有一些疑问:
1)用户将从移动应用程序登录并获得一个jwt令牌。移动应用程序将验证其有效性,并在需要时刷新。为了让移动应用程序让用户始终登录,我应该在设备上存储refresh_token ???它安全吗?
2)我无法理解我将如何处理facebook身份验证并从身份服务器获取jwt令牌。我应该首先从Facebook个人资料中获取用户的电子邮件,然后是什么???
谢谢
答案 0 :(得分:0)
1-您可以在数据库中存储刷新令牌(身份服务器提供令牌存储) 您也可以使用第三方库安全地存储设备中的令牌。
2 - 要使用第三方登录,您需要将重定向样式添加到IdSvr登录页面。使用资源所有者密码流意味着您错过了令牌服务中的所有功能,如SSO,2fa和联合身份验证。