github OAuth

web应用集成github登录

集成步骤

使用github提供的oauth服务

登录github后,打开Settings –> Developer settings –> OAuth Apps –> New OAuth App

github-OAuth-01

github-OAuth-02

解释一下两个设置

1
2
3
4
5
Homepage URL
The full URL to your application homepage.
这个是我们自己web应用的homepage
1
2
3
4
5
Authorization callback URL
Your application’s callback URL.
这个是github回调我们应用的url,会传一个code给我们,这个后面讲解

新增完成后会生成Client ID和Client Secret这个后面会用到

完成github三方登录

跳转到guthub用户授权页面,Client ID必须传,其他参数有需要就传:

scope这里先默认使用repo,因为我们要对整个仓库进行操作,scope参数详解请访问Understanding scopes for OAuth Apps

https://github.com/login/oauth/authorize?client_id=[clientid]&scope=repo

github-OAuth-03

登录后会显示你的授权信息,这个是由scope参数决定的

github-OAuth-04

授权后会回调我们之前在github设置的Authorization callback URL:http://localhost:8080/markbook/github/login/callback?code=6481b7341cdb7926315c

会回传一个code给我们这个code是给我们用来获取access_token,获取到access_token之后我们就可以用来使用github需要授权才能使用的api了

获取access_token

https://github.com/login/oauth/access_token

需要三个参数:

  • client_id
  • client_secret
  • code

github-OAuth-05

常用api