首页 文章

OAuth2(代码授权)access_token含义

提问于
浏览
0

我们的团队开始在FHIR(SoF)应用程序上构建SMART . SoF使用OAuth2 access_tokens来表示授权 . 我们的应用程序正在使用代码授予来获取令牌(https://oauth2.thephpleague.com/authorization-server/auth-code-grant/) .

我对OAuth2(用于SAML)很新,并且已经阅读了标准 . 我想我们可能会混淆access_token的意图 .

OAuth2中的意图是access_token表示资源所有者(最终用户)授予客户端(Web应用程序)代表他们执行的权限吗?

或者是否意图依赖资源所有者(最终用户)来执行某些操作?

例如,auth令牌请求的范围称为“contacts-update” . 如果我们使用此范围获得access_token,这是否意味着用户允许应用程序尝试更新联系人(代表他们)或者是否意味着用户具有基本要求(他们处于更新联系人角色)能够更新联系人吗?

1 回答

  • 1

    在您编写时,OAuth2访问令牌表示从资源所有者到客户端(应用程序)的权限委派,因此客户端可以代表资源所有者执行操作 . 这也是为什么有一个同意页面 - 用户同意给予它所请求的应用程序权限(范围) .

    有时,人们希望将OAuth2用作中央身份验证服务器并为其应用程序使用权限配置 . 他们希望每个应用程序都能看到用户为其配置的所有权限 . 然后,对于要求特定范围的应用程序没有意义,但是要配置OAuth2服务器以返回该应用程序的所有相关内容(由client_id标识) . 但我不认为这是预期的使用方式,OAuth2规范不包括这种情况 .

    如果OAuth2支持OpenID Connect扩展,则它也可以仅用于身份验证 . 然后,应用程序可以请求ID令牌 . ID令牌证明用户的身份,并且在每个应用程序中分别处理权限 .

相关问题