OIDC - 我什么时候应该获得id_token?

时间:2018-06-05 12:42:26

标签: php oauth-2.0 openid-connect oidc

对于我的应用程序,我计划在OIDC服务器上使用oauth2 Resource Owner Password Credential Grant 所以我觉得我对这个流程感到有些困惑 我理解这一点 - 我应该回复id_token以及access令牌,因为当我们使用Password时,我们会跳过授权步骤 - 我能正确理解吗?

大多数在线示例似乎指的是获取id_token以及授权请求,而不是访问令牌请求... plz help。

编辑:我希望得到建设性的批评,而不仅仅是投票。

1 个答案:

答案 0 :(得分:0)

资源所有者密码凭据授予( ROPCG )是OAuth 2.0 framework中定义的授权类型。 id令牌由OpenID Connect protocol(OIDC)定义。 OIDC是OAuth 2.0的扩展(构建于其之上),因此它继承了OAuth 2.0的大部分内容

如果您查看OAuth 2.0规范,您将看到ROPCG跳过授权请求。这是通过客户端应用程序本身获得最终用户(资源所有者)授权来完成的(对于身份验证代码流或隐式流,这由Auth服务器完成)。因此,令牌直接通过授权服务器的令牌端点获得。所以是的,它跳过授权步骤,但客户端执行最终用户授权获取。

现在使用ROPCG授权来识别id令牌。这取决于您使用的身份提供商。虽然OIDC规范没有提到ROPCG流程,但身份提供商仍然可以使用令牌响应发出id令牌。这也是OAuth 2.0规范允许的。因此,如果您的身份提供者(授权服务器)支持此功能,那么您可以从令牌响应中获取ID令牌。