Spring OAuth2 中的 /check_token 和 user-info-uri 端点有什么区别?

xbm*_*ono 5 spring access-token oauth-2.0

Spring 暴露/check_token端点;看到这个链接

因为/check_token我们需要配置RemoteTokenServices并提取令牌。但是,我们也可以配置UserInfoTokenServices它本质上做同样的事情。

我能说的唯一区别是第一个是根据 OAuth 2.0 扩展:令牌自省端点,但是,根据 OAuth 2 扩展,该端点不会返回节点“活动”,这是强制性的。看这个链接

但除此之外,我们有这些端点还有其他任何功能原因吗?

jas*_*hai 7

我也有同样的问题,但我做了一些研究工作并得到了我的答案,我希望我的回答可以帮助你。如果我犯了任何错误,请纠正我。

spring security oauth2 和 cloud-oauth2 有两个端点。

check_token: 在 OAuth 2.0 扩展令牌自省中定义。它的方法是 post,通过 HttpBasic 身份验证进行保护。它返回基本信息。
它是一个授权服务器端点。

user_info_uri: 在 openid-connect 中定义。它返回个人资料信息(例如电子邮件地址和生日)。它主要用于 SSO 登录。它可以是 post 或 get 方法。
它是一个资源服务器端点。
您可以查看下面的文档进行确认。
开放ID连接

让我从下面引用一些句子来总结这里
https://github.com/spring-projects/spring-security/issues/6342

/introspect 端点和 /userinfo 端点非常不同,它们与提供程序在不同的场景中使用。

/introspect 端点接受一个不透明的(通常)访问令牌并返回一组与访问令牌关联的声明。

/userinfo 端点接受访问令牌并返回与当前经过身份验证的用户关联的一组声明。