OAuth2 authorization_code模式 客户端向认证服务器申请token 为何没有看到 user_id 字段?

发布于 2022-08-29 18:42:32 字数 366 浏览 13 评论 0

access_token 肯定是要与 user_id 绑到一起,按照 OAuth2 标准为何没有 user_id 字段?

文档参看 4.1.3 节。

http://tools.ietf.org/html/rfc6749#section-4.1.3

如果没有 user_id,那么生成的 token,都是给到 client_id 对应的 user_id。

而存取用户资源的时候,又需要 user_id 来选择是哪个用户。

还是说,按照文档的流程对了即可,添加字段是可以自己把握的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

暖心男生 2022-09-05 18:42:32

你可以想象成为3个点,客户端->授权服务器->业务服务器,客户端与业务服务器通过API交互数据时需要user_id而get_authorization_code这个阶段是客户端与授权服务器的事,只要提供类似这样的参数就可以了。
client_id=the_client_id&response_type=code&redirect_uri=client_redirect_uri&scope=scope1,scope2&state=654321其中前面2个参数是必传的(根据http://tools.ietf.org/html/rfc6749#section-4.1.1)。

粉红×色少女 2022-09-05 18:42:32

一种方法服务器端会做好token和user_id 的一一映射,存取用户资源的时候,服务器会根据token找到对应的user_id。

能怎样 2022-09-05 18:42:32

1.引导用户点击链接进入OAuth登录流程,携带client_id
2.用户输入信息点击登录,(此时已经有了user_id了)
3.OAuth平台生成token(服务端映射user、session、private_cache等数据与client_id绑定,比如user_id+client_id+client_ip+rand_str & sha1)
4.输出token给服务器

无敌元气妹 2022-09-05 18:42:32

如果是获取当前用户,不用根据user_id来选择,发token就可以识别了,原理同session一样。很多网站,特别是腾讯旗下的,根本就不会给你user_id

ヤ经典坏疍 2022-09-05 18:42:32

access_token 要与 user_id 和 clint_id 绑在一起
那个第一次登陆返回的code中记录了user_id和client_id的~~

旧伤慢歌 2022-09-05 18:42:32

每个用户的access_token是不一样的,有了access_token再去换user_id

凉宸 2022-09-05 18:42:32

clipboard.png
这里获取到token后就直接返回给客服端了,我该怎取到token并把他跟user_id绑定呢?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文