【发布时间】:2021-04-13 16:51:35
【问题描述】:
目前正在构建一个微服务,用于使用 OIDC 处理与身份验证相关的内容。
现在,我们考虑访问控制以及如何尽可能面向未来。此身份验证服务器仅用于第一方应用程序(3x SPA,2x 本机移动应用程序)。在移动设备上,我们使用authorization_code 授权。每个资源服务器都会验证提供的令牌(访问令牌作为 JWT)本身。但是当(将来)我们添加一个需要自己的范围来检查的服务(例如通知:读取)时会发生什么?由于移动应用程序用户不习惯每次都登录和注销(当我们通过应用程序更新来更新请求的范围时 -> 糟糕的解决方案)是否有任何好的解决方案来管理这种情况?
根据规范,刷新令牌时可以更改所需的范围,但这仅限于需要的范围比最初请求的范围少,而不是更多,因此这不是一个选项。
例如,Facebook 仅为 Instagram 提供四个范围,例如instagram_basic 或 instagram_content_publish。例如,Zalando 在其令牌中仅包含范围 NORMAL_USER,而 Wolt 将用户 roles 作为声明。
我认为存在一些混淆,因为 OAuth2 或 OIDC 没有直接涵盖这种情况。您对此有何看法?
【问题讨论】:
标签: oauth-2.0 oauth jwt authorization openid-connect