今天实现了一个简单的第三方授权登陆,在这里总结一下OAuth认证。
请忽略羞耻的图片和名字。
首先第三方要去GitHub获取用户信息,最简单的想法就是开发一个API。但如果有而已的应用访问api,很轻易的就能拿到用户数据。这时候第一个验证方式出现了,我们记住第三方的ip地址,收到请求后和库里的ip相比对,匹配的上,才会返回所请求的信息。
这时又出现了很多问题,如果客户的应用时分布式部署的,如果经常迁移,ip很多,经常变更,拿维护这个所谓的ip地址库,就变的很困难,所以有了OAuth。
还有一种浅显易懂的说法,外卖员要来送外卖,他有进小区的需求,但是我不能吧密码给他他,所以出现了一种暂时的通行证:access_token.他到了小区门口,和我通信,我确认身份之后给他一个临时的通行证,这个证权限只限于这一次操作的途径区域,而且很快会刷新,这样就不可能出现复用的问题。
这是我看的教程里的流程图,画的很详细,我就不重新画了,有兴趣的朋友可以去B站:av65117012