时间: 2020-08-30|tag: 30次围观|0 条评论

原文转载自「刘悦的技术博客」https://v3u.cn/a_id_154

码云大家都耳熟能详了,国内版的github,其三方登录的接入方式也完全照搬github经典的OAuth2逻辑。

Python3+Django2.0.4三方社交账号接入Gitee.com(码云)插图
image

首先注册码云的账号,并且新建三方应用 : gitee.com

Python3+Django2.0.4三方社交账号接入Gitee.com(码云)插图1
image

这里创建之后可以获取到clinet_id和client_screct

Python3+Django2.0.4三方社交账号接入Gitee.com(码云)插图2
image

图片logo可以不上传,但是应用域名和回调网址必须填写,需要注意的是必须要写完整网址也就是必须带上http或者https

Python3+Django2.0.4三方社交账号接入Gitee.com(码云)插图3
image

随后的流程可以参照官方文档:https://gitee.com/api/v5/oauth_doc#/

第一步,通过 浏览器 或 Webview 将用户引导到码云三方认证页面上( GET请求 )

class Gitee(View):        def get(self,request):            return redirect("https://gitee.com/oauth/authorize?client_id=你的应用id&redirect_uri=http://localhost:8000/gitee_back&response_type=code")

第二步,如果用户授权登录成功,gitee则会通过回调网址将code传递给第三方应用,此时三方应用可以通过code换取access_token

class GiteeBack(View):        def get(self,request):            code = request.GET.get("code",None)            r = requests.post("https://gitee.com/oauth/token?grant_type=authorization_code&code=%s&client_id=你的应用id&redirect_uri=http://localhost:8000/gitee_back&client_secret=你的应用秘钥" % code)          print(r.text)            return HttpResponse("ok")

最后一步,码云认证服务器成功返回 access_token,三方应用通过 access_token 访问 Open API 使用用户数据。

这里我们以基础用户信息接口为例子

r = requests.get("https://gitee.com/api/v5/user?access_token=获取到的accesstoken")    print(r.text)
Python3+Django2.0.4三方社交账号接入Gitee.com(码云)插图4
image

总体上没什么难度,需要注意一点,当需要调用openapi的接口时,需要点击授权。

Python3+Django2.0.4三方社交账号接入Gitee.com(码云)插图5
image

原文转载自「刘悦的技术博客」 https://v3u.cn/a_id_154

文章转载于:https://www.jianshu.com/p/4f265c085ef5

原著是一个有趣的人,若有侵权,请通知删除

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《Python3+Django2.0.4三方社交账号接入Gitee.com(码云)
   

还没有人抢沙发呢~