筛选 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 令牌
- 刷新令牌的轮换
- 将刷新令牌请求与设备标识相结合
您对 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
.
Possible threats 已确定,对策可能是(non-exhaustive 列表):
- 安全刷新令牌存储(加密folder/disk)。
- 锁定以防止未经授权的device/application访问
- 可以撤销访问 tokens/refresh 令牌
- 刷新令牌的轮换
- 将刷新令牌请求与设备标识相结合