![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oauth2
强子@123
这个作者很懒,什么都没留下…
展开
-
《OAuth2实战》传统认证方式的问题
假如一个打印服务需要调用照片服务才能获取用户照片打印,打印服务是第三方服务。照片服务受保护不能随便访问,打印服务调用的时候需要弹出一个页面让用户输入照片服务上的用户名和密码才能获取照片。这样的缺点很明显,第一 用户的密码泄露给了打印服务,打印服务可以自己访问照片而不是在用户的许可之下访问照片 第二,用户在别的系统中的密码有可能和照片服务密码一样,这样会导致别的服务密码也泄露 第三,打印服务有了密码可以访问照片服务所有功能,比如删照片,这样无法确保用户信息安全 第四,无法随时撤销打印服务的访问,如果要撤销就只原创 2022-05-17 18:34:43 · 162 阅读 · 0 评论 -
《Oauth2实战》四种许可模式比较
资源拥有者许可机制 用户输入用户名和密码去获取token这种许可机制就是我们平时最常见的登录页面,输入用户名和密码或者手机号验证码。密码虽然被讨厌,但是有时候也不得不去使用密码。一个系统可不可以只用微信或者支付宝登录,不用手机号和密码呢?...原创 2022-04-23 13:27:02 · 354 阅读 · 0 评论 -
《Oauth2实战》获取token可以不需要客户端身份认证吗?
code值通过后端信道和clientSecrect一起使用,获取token。这里的客户端密匙起到了什么作用?为什么一定要这个呢?code值在前端,我们假设它一定会泄露。那么攻击者拿到这个code,没有clientSecrect获取不到token。因此微信的授权中心还是需要对客户端身份做认证的,防止别人code泄露导致攻击者直接获取token。攻击者可以使用我们系统的后端信道,带着code值访问我们后台接口,我们后台接口保存了clientSecrect,它直接访问微信获取token和用户信息,然后给攻原创 2022-04-20 21:45:37 · 690 阅读 · 0 评论 -
《Oauth实战》登录接口防护
上次说到前端会对传来的code有state验证,只获取state正确的code,因为state正确才说明是微信传来的code,不是第三方传来的code。前端拿到code之后会把code给后台,后台去找微信要token。那么在用户未登录的情况下这个后台接口是开发的,没有token保护,任何人都能访问。攻击者可以直接绕开前端,直接给后台发一个假的code,让后台去访问微信。这样造成了后台资源的浪费甚至服务器瘫痪,或者让攻击者蒙到了一个token造成信息泄露。那么后台在未登录的情况下是无法判断调用者是我们原创 2022-04-20 20:53:26 · 213 阅读 · 0 评论 -
《oauth2实战》code值的防护
我们之前说过前端不能直接拿token,会泄露。因此给前端一个code值,code的保护做好了就是code被泄露,也不会导致token被泄露。 那么code怎么做保护呢? 第一,前端必须接受指定应用的code,不能乱接受code。以微信登录举例子,这个code必须是微信给的,不能是别的不知名的第三方给的,不能随便一个人给你code你都要。 那就需要验证微信的身份了,怎么验证呢?第一次重定向到微信的时候带上一个state。微信得到这个state回调前端的时候把这个state带回来...原创 2022-04-20 12:36:54 · 594 阅读 · 0 评论 -
《oauth2实战》code值的作用
博主对oauth2授权流程感兴趣,上面的内容和思考都是来自于本书原创 2022-04-20 11:42:21 · 1172 阅读 · 4 评论