微博第三方登录,多地址回调

多地址回调说明在最后。

文档说明:
微博登录
说一下网页的流程:

第一步:拉起微博授权页面

建议前端拉起,后端只负责校验,使用state作为后端校验依据以及传输参数。微博没有特意留这个参数,但是微博设计的比较宽松,你可以在redirect_url里面写回调地址以及参数,这个非常好用。

https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

第二步

如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE:

后端拿着code换取Access Token:

https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE

返回值,一看就懂不解释:

{
    "access_token": "SlAV32hkKG",
    "remind_in": 3600,
    "expires_in": 3600 
}

使用获得的OAuth2.0 Access Token调用API,获取用户身份,完成用户的登录。文档里面说的很隐晦,让你下载他们的sdk。

baseurl: https://api.weibo.com/users/show.json
    protected function getUserByToken(AccessTokenInterface $token)
    {
        $response = $this->getHttpClient()->get($this->baseUrl . '/' . $this->version . '/users/show.json', [
            'query' => [
                'uid' => $token['uid'],
                'access_token' => $token->getToken(),
            ],
            'headers' => [
                'Accept' => 'application/json',
            ],
        ]);

        return json_decode($response->getBody(), true);
    }

就能获取到用户信息了。

微博是支持多地址回调的,但是不支持多域名。
不要在这里设置回调地址,直接在应用管理里面设置域名信息。
在这里插入图片描述

在这里插入图片描述

网站信息->基本信息->编辑基本信息,设置域名即可,建议设置一级域名,这样的话二级域名也是可以作为回调页动态传递的,相当于支持多地址回调了,很方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SHUIPING_YANG

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值