api - OAuth 2 access_token与OpenId Connect id_token

标签 api oauth-2.0 openid

尽管我以前使用过OAuth 2,但我还是Open ID Connect的新手。

在阅读教程和文档时,我遇到了 access_token id_token ,其中 access_token是根据OAuth 2 id_token生成的随机唯一字符串,是JSON Web token ,其中包含用户信息,例如,发行人和其他各种可用于验证它的信息。我也见过API提供程序,它们同时提供access_token和id_token,据我所知是为了向后兼容。

我的问题是是否可以同时使用access_token和id_token来访问 protected 资源?还是id_token仅用于验证目的,而access_token用于获取对 protected 资源的访问权?

最佳答案

最初,OAuth和OpenId被设计用于不同的目的:OpenId用于身份验证,OAuth用于授权。 OpenId Connect是两者的统一,并且为两者服务,但不会更改其原始功能。记住这一点,您应该能够发现自己。 ;-)

id_token用于标识已验证的用户,例如用于SSO。必须使用access_token来证明对 protected 资源的访问权限,例如OpenId Connect中的userinfo端点。

关于api - OAuth 2 access_token与OpenId Connect id_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19293793/

相关文章:

api - ServiceStack API 服务 RequiresAnyRole 总是返回 403 错误

javascript - 帖子标题不会出现在网址中

asp.net-mvc - 使用自定义客户端登录页面使用 IdentityServer 登录

java - Play Framework 2.0 如何在 Java 中使用 OpenID?

authentication - Haskell 独立桌面应用程序身份验证(使用 google/facebook/twitter/etc 帐户)

python - 从 Instagram 句柄中提取媒体时出现错误 "Unable to parse response, not valid JSON"

javascript - 谷歌地图 API : Marker image positioning

angularjs - 使用 CURL 请求的 Ajax 身份验证 : Ionic app, Django、Rest、Oauth2

spring - JHipster - Spring 。 Oauth2 资源服务器配置。创建资源服务器

google-plus - 从 Google+ 登录迁移到 Google 登录