14 | 查漏补缺:OAuth 2.0 常见问题答疑
发明 OAuth 的目的到底是什么?
- 深入了解
- 翻译
- 解释
- 总结
OAuth 2.0是一个广泛应用的授权协议,但在实际应用中存在一些误解。本文通过回答六个常见问题,帮助读者更好地理解OAuth 2.0。首先,OAuth的设计初衷是让资源拥有者委托部分权限给第三方应用,以简化第三方软件的逻辑处理并减少网络安全攻击面。其次,OAuth 2.0并非身份认证协议,而是专注于授权的协议。刷新令牌并不能让访问令牌一直有效,而HTTPS虽然重要,但并不能确保JWT格式令牌的数据安全。在使用OAuth 2.0时,需要充分理解其设计初衷和安全机制,以确保信息的安全和可靠性。 此外,文章还介绍了ID令牌和访问令牌的联系与区别,以及PKCE协议的背景和解决的问题。ID令牌代表用户身份令牌,不会作为参数传递给外部服务,而访问令牌则是用来代表用户请求受保护资源服务的凭证。ID令牌是对访问令牌的补充,而不是替代。另外,PKCE协议的增补发布是为了缓解针对公开客户端的攻击,提高授权码使用的安全性。 总的来说,读者需要掌握的知识点包括OAuth协议的设计初衷、OAuth 2.0的限制、ID令牌和访问令牌的区别、以及PKCE协议的作用。这些知识将有助于读者更好地理解和应用OAuth 2.0协议。
《OAuth 2.0 实战课》,新⼈⾸单¥29
全部留言(14)
- 最新
- 精选
- bigben“尽管生成了新的刷新令牌,但它的有效期不会改变,有效期的时间戳仍然是上一个刷新令牌的。刷新令牌的有效期到了,就不能再继续用它来申请新的访问令牌了。” 我所见到的开放平台新的刷新令牌的有效期都是重新开始算的啊,并不是从第一个刷新令牌产生的时候算起的啊?
作者回复: OAuth2.0规范中有刷新令牌和访问令牌,但是没有具体的做法,只有建议性指导。所以会有很多种方法去实现。 那么我们自己想一下,哪种更合理呢,如果刷新令牌一直有效下去,就需要有刷新令牌的使用次数限制,总要有一个卡点,不然,岂不是一直有效了呢。
2020-08-2625 - Geek_bb8d16第三方登陆,比如微信登陆这个就很迷惑,这个是用OAuth2来实现登陆流程
作者回复: 微信的联合登录,比如极客时间用微信登录,这是利用了OAuth2.0的流程。
2020-08-0224 - 秋千岁如果用户注销或者退出了登录,ID 令牌的生命周期就随之结束了。老师,请问这句话怎么理解?已经派发出去的ID令牌 如何使得用户注销或退出登录 失效呢?
作者回复: ID令牌是一个JWT格式的令牌,这块可以参看咱们关于JWT介绍的那节课程。
2020-08-172 - 奕ID 令牌要能够被解析 : 这句话要怎么理解的? ID 要怎么进行解析呢?
作者回复: ID令牌 用作身份认证,什么是身份认证?就是“你是谁”,它包含了一个用户标识(注意不是用户名),所以要能够被解析。那访问令牌,不可以用作这个吗,不可以,咱们这篇答疑和之前的文章也都有提到,在用户“离开”后,第三方软件仍然可以使用访问令牌获取用户的信息,甚至访问令牌过期之后,还可以使用刷新令牌再换一个访问令牌。如果将访问令牌用作用户登录标识显然不合理。
2020-07-3021 - .您好,oauth2.0用来授权不是认证,但是springsecurity oauth2里面的实现有一个check_token接口,传入access_token会返回userinfo信息,是不是可以用来认证了,不需要ID_token。。。2020-08-295
- Mr_Bangb用jwt生成令牌发现CPU高负荷运转了 请问有解吗?2022-05-11
- garyhimself小兔打单软件获取到access_token,也不能直接调用打单api去打单吧,小兔打单软件至少得知道小明的用户信息,知道是要给小明打单吧,否则怎么调用打单api?2021-11-08
- Blue刷新令牌,access_token在有效期之内和有效期之外,这两种情况下去刷新令牌,access_token会变化么【比较疑惑】,另外,如果access_token变化了,我们该如何告知调用方2021-03-18
- 电光火石“尽管生成了新的刷新令牌,但它的有效期不会改变,有效期的时间戳仍然是上一个刷新令牌的。刷新令牌的有效期到了,就不能再继续用它来申请新的访问令牌了。” 既然可以用刷新令牌在有效期内重新申请访问令牌,这么做是否可以:只用访问令牌,不用刷新令牌,访问令牌的有效期和之前刷新令牌的有效期一样,这样是否可以呢?会有什么安全隐患吗?谢谢老师。2020-11-18
- JianXu“第三,在使用上,刷新令牌只能用在授权服务上,而访问令牌只能用在受保护资源服务上。” — 如果我有需要在平台一侧把access token 发到授权服务上,会有什么风险吗?2020-10-17