关于微博三方登录的授权机制

在授权过程中大致有三个对象。一个是服务提供方(第三方网站)、一个是用户(将资源放在服务提供方存放的对象)、还有一个就是客户端(向服务提供放请求用户资源的对象)。首先,客户端向服务提供方发起请求,请求服务提供方的一个临时令牌,这个临时令牌是进行下一步的基础,服务提供方先要验证一下客户端的身份,验证成功后会给客户端所要的临时令牌。接下来客户端会引导用户进行授权操作,用户进入服务提供方提供的页面,完成授权以后服务提供方会给客户端一个访问令牌并调转回客户端的网页。通过访问令牌,客户端就可以获得用户在服务提供方上的若干权限。

#利用应用id来拼接第三方网站的网址
def get_url(request):
    #微博接口地址
    weibo_auth_url = "https://api.weibo.com/oauth2/authorize"
    #回调网址
    redirect_url = "http://127.0.0.1:8000/md_admin/weibo"
    #应用id
    client_id = "2636039333"
    #组合url
    auth_url = weibo_auth_url + "?client_id={client_id}&redirect_uri={re_url}".format(client_id=client_id,
                                                                                      re_url=redirect_url)
    return HttpResponse(auth_url)


#获取令牌,然后跳转回调网址
def get_access_token(request):
    #获取回调的code
    code = request.GET.get('code')
    #微博认证地址
    access_token_url = "https://api.weibo.com/oauth2/access_token"
    #参数
    re_dict = requests.post(access_token_url,data={
        "client_id": '2636039333',
        "client_secret": "4e2fbdb39432c31dc5c2f90be3afa5ce",
        "grant_type": "authorization_code",
        "code": code,
        "redirect_uri": "http://127.0.0.1:8000/md_admin/weibo",
    })


    re_dict = re_dict.text
    re_dict = eval(re_dict)
    print(re_dict.get('uid'))



    return HttpResponse(re_dict)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值