优先考虑 GitHub Apps 这里讲解 OAuth Apps
创建 GitHub OAuth Application
1应用程序名称:顾名思义2应用程序ULR:顾名思义(使用过程中为发现其用途,可能起标记作用)\3Redirect Uri:GitHub 认证授权之后会重定向到这个URL,这一步非常重要。创建完之后记住Client Id和Client secrets,如:
1Client Id: Ov23liTTSlBvlKogMGEG2Client secrets: *****8bfc50b7应用程序代码部分
认证授权步骤
-
前端页面携带 Client Id 和 Redirect Uri 访问 https://github.com/login/oauth/authorize
1GET https://github.com/login/oauth/authorize?client_id=${clientId}&redirect_uri=${redirectUri} -
认证和授权完毕之后GitHub会将页面重定向到 Redirect Uri,并且会携带code值,code用来交换access_token
1http://localhost/callback?code=e94944d265321bf5654d -
后端应用程序创建一个WEB API接口,使用code交换access_token
1# 在接口中调用面这个 HTTP API 用来换取 access_token2POST https://github.com/login/oauth/access_token3Content-Type: application/json45{6"client_id": "Ov23liTTSlBvlKogMGEG",7"client_secret": "*****8bfc50b7",8"code": "e94944d265321bf5654d",9"redirect_uri": "http://localhost/callback",10"state": "随机字符串"11}
注意 Client secrets 一定不要存储到客户端当中,泄漏之后会出现安全问题。