【问题标题】:Separate authentication server just for mobile单独的身份验证服务器仅适用于移动设备
【发布时间】:2020-03-14 20:17:27
【问题描述】:

我们的 Nativescript Angular 应用程序有一个问题。我们将 OAuth 2 与 PKCE 一起用于我们的身份验证过程,但我的团队对移动开发领域还很陌生。

根据我的研究,最佳实践似乎表明刷新令牌的生命周期应该在 2 周到 2 个月之间。目前我们的访问令牌生命周期设置为 2 分钟,我们的刷新令牌生命周期为 30 分钟。这意味着我们的用户必须每 30 分钟使用他们的用户名和密码登录一次,这对于 UX 来说并不理想,我们也因此受到了很多批评。

我们的登录页面使用 WebView,因此我们还考虑尝试使用安全存储的用户名和密码版本自动填充表单字段,但后来意识到这实际上无法做到,而且对安全性不利。

因此,为了改进登录过程并使其更加无缝,我们希望设置带有 PIN 码后备的面部/触摸 ID。这意味着我们必须将刷新令牌的生命周期延长到 2 个月或尽可能长——这似乎是向前推进的最佳方法。

也就是说,另一个问题是我们还有一个使用相同身份验证服务器的网站,因此如果我们更改 Keycloak 设置,它也会为网站更改它,这将为网络团队创造更多工作。

所以我的问题是我们应该使用单独的身份验证服务器仅用于移动访问吗?

【问题讨论】:

    标签: mobile oauth-2.0 access-token keycloak refresh-token


    【解决方案1】:

    我建议您使用永不过期的离线令牌。检查这个https://www.keycloak.org/docs/latest/server_admin/index.html#_offline-access

    基本上在身份验证过程中,您传递名为offline_access 的附加范围,而不是常规刷新令牌,身份验证服务器返回离线令牌。

    所以我的问题是我们应该使用单独的身份验证服务器仅用于移动访问吗?

    如果您为移动应用程序使用单独的服务器(领域),那么您将拥有单独的用户、客户端和会话集合,并且您将很难将其他应用程序与身份验证服务器集成。

    【讨论】:

      猜你喜欢
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      相关资源
      最近更新 更多