关于github登陆,苏南大叔已经写过如何申请appidsecret,详情参见文末链接。拿到了client_idclient_secret之后,我们就可以开工了。

但是,从哪里着手呢?其实github的这个登陆,肯定是遵守现在最流行的oauth协议的。oauth协议也有几个分支,在本文中,苏南大叔只讨论使用范围最广的oauth2.0

苏南大叔:github的oauth登陆的基本流程,oauth2.0原理解析 - oauth2
github的oauth登陆的基本流程,oauth2.0原理解析(图3-1)

官方对这个事情的描述,见这里:https://developer.github.com/apps/building-integrations/setting-up-and-registering-oauth-apps/about-authorization-options-for-oauth-apps/ 。苏南大叔用大家能够接受的语言,描述一下这个oauth过程。其实过程不难,就是和传统的思维不是很一样,所以理解上有些偏差。

一,用户在苏南大叔的博客上,发起登陆请求

这个时候,请求的是我这边的服务器地址。该地址,开始准备了三个参数,分别是client_id/scope/state

  • client_id就是从github上面申请到的那个appid
  • scope就是说你的应用会请求用户的那些数据,这个是会在登陆页面上展示的。
  • state是个随机数,用于数据验证,所以,这个值越随机越好。

服务器准备好这些参数后,就将用户的请求导向到了github的登陆验证页面,并带上三个参数。

苏南大叔:github的oauth登陆的基本流程,oauth2.0原理解析 - oauth_login
github的oauth登陆的基本流程,oauth2.0原理解析(图3-2)

相关链接

总结

好了,基本上讲完了。市面上这么多oauth的授权应用,基本上都大同小异。大家都可以按照这个思路进行编写。不过,至于国内的各大网站的oauth,极其严格的审核制度,就不是苏南大叔能够帮上忙的了。

更多oauth相关文章,请大家拿起鼠标,点击这里查看:https://newsn.net/tag/oauth/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   github    oauth

本站的忠实读者小伙伴,正在阅读下面这些文章: