使用github的oauth来实现用户登录
2017-11-08 09:55
232 查看
使用github的OAuth来实现用户登录
前段时间项目中要用到第三方登录,就研究了下使用github的oauth来时间用户登录.实现起来还是很简单的,下来就大致介绍下实现细节.
第一步
在github上申请一个OAuth App.
申请完成 Oauth app后,会得到Client ID
和Client Secret
第二步
github的OAuth的验证
1.访问用户登录的验证接口
https://github.com/login/oauth/authorize?client_id=xxxxxxxxxxxxxxxxxx&scope=user,public_repo
2.访问上面接口后会github会让其跳转到你预定的url(Authorization callback URL),并且带上code参数,例如
http://localhost:8080/callback?code=****************
3.然后,开发者可以通过code,client_id以及client_secret这三个参数获取用户的access_token即用户身份标识,请求如下
https://github.com/login/oauth/access_token?client_id=xxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxx&code=xxxxxxxxxxxxxxxxxxx
这样就会返回access_token,如下
access_token=xxxxxxxxxxxxxxxxxxxxxxxxx&scope=public_repo%2 Cuser&token_type=bearer
4. 这样我们就可以用这个access_token来获取用户的信息
https://api.github.com/user?access_token=xxxxxxxxxxxxxxxxx xxxxxxxx
5. 这个请求获取的是一个json数据,因为这个json太长,当我用自己写的实体类(只有几个字段),结果封装不进去,最后就在网上找了个json串转实体类的工具网,一键生成实体类,妥妥的,网址如下:
http://www.bejson.com/json2javapojo/new/
相关文章推荐
- 使用Forms Authentication实现用户注册、登录 (二)用户注册与登录
- 使用AjaxPro框架实现无刷新用户登录验证【原创】
- 使用C#实现网站用户登录
- 使用C#实现网站用户登录
- 使用C#实现网站用户登录
- 使用Forms Authentication实现用户注册、登录 (三)用户实体替换
- 使用Forms Authentication实现用户注册、登录 (二)用户注册与登录
- 使用Forms Authentication实现用户注册、登录 (三)用户实体替换
- 使用Forms Authentication实现用户注册、登录 (一)基础知识
- 使用C#实现网站用户登录(转)
- 使用Forms Authentication实现用户注册、登录 (二)用户注册与登录
- 在ASP.NET中实现单点登录(不允许多用户使用同一帐号同时登录)
- 使用Form认证实现用户登录 (LoginView的使用)
- 使用C#实现网站用户登录(转)
- [导入]使用C#实现网站用户登录
- 使用C#实现网站用户登录
- 使用Forms Authentication实现用户注册、登录 (三)用户实体替换
- 使用Forms Authentication实现用户注册、登录 (一)基础知识
- 使用Forms Authentication实现用户注册、登录 (一)基础知识
- 使用C#实现网站用户登录 (转)