筛选 offline_access 到 public 个应用

Grating offline_access to public apps

您对 offline_access 到 public 申请有何看法? 我查看了该标准,但没有发现明确指示 public 应用程序 offline_access 是一个很大的安全问题。

我认为这是因为 public 应用程序无法安全地保存其密码,更不用说刷新令牌了。同时,我看到很多浏览器应用程序示例使用 refresh_token 流程,因此防止将用户重定向到身份提供者可能是一种常见的策略。

我的目标是找到使用 AJAX 获取另一个 access_token 的正确方法,这样用户就不会刷新页面或被重定向到身份提供者。

谢谢, 乔治

根据 RFC6749, the issuance of a refresh token is not permitted with the implicit grant type 并由授权服务器自行决定其他 gran 类型。

OpenID Connect specification 通过提及授权服务器 MUST ignore the offline_access request unless the Client is using a response_type value that would result in an Authorization Code being returned.

来限制更多一些

无论如何,如果 refresh tokens can receive an acceptable level of protection.

,这些规范允许为 public 客户端颁发刷新令牌

Possible threats 已确定,对策可能是(non-exhaustive 列表):

  • 安全刷新令牌存储(加密folder/disk)。
  • 锁定以防止未经授权的device/application访问
  • 可以撤销访问 tokens/refresh 令牌
  • 刷新令牌的轮换
  • 将刷新令牌请求与设备标识相结合