Post Views: 109
1、获取微博的微连接的网页应用授权(引导用户进入授权页面登录同意授权、创建微博的微连接的网页应用的用户)的链接,如图1
图1
2、打开网址:https://weibo.com/ ,确认微博帐号未登录,如图2
图2
3、微博的微连接的网页应用授权(引导用户进入授权页面登录同意授权、创建微博的微连接的网页应用的用户),登录同意授权,如图3
图3
4、通过 Code 换取第三方授权 Access Token,相应数据操作、创建微博的微连接的网页应用的用户,获取微博的微连接的网页应用的用户列表。如图4
图4
5、打开网址:https://weibo.com/ ,确认微博帐号(永夜烟)已登录,如图5
图5
6、此时需要在同一浏览器中,可进入授权页面登录同意授权,登录另外一个微博帐号(terryhong123),以创建微博的微连接的网页应用的用户,最终创建失败,分析:第一个微博帐号(永夜烟)在同一浏览器中已经处于登录状态,因此,自动跳过登录页面,创建微博的微连接的网页应用的用户,但是,由于 user_id 设置了唯一索引,创建失败。如图6
如果用户在授权有效期内重新打开授权页授权(如果此时用户有微博登录状态,这个页面将一闪而过)。
图6
7、现阶段的需求是,希望能够在同一浏览器中,可重复创建多个微博的微连接的网页应用的用户(在创建第二个用户时,需要再次进入授权页面登录同意授权),查看OAuth2.0的文档,发现其支持强制登录功能,如图7
强制登录
授权页会默认读取当前用户的微博登录状态,如果你想让用户重新登录,请在调用authorize接口时传入参数:forcelogin=true,默认不填写此参数相当于forcelogin=false。
图7
8、编辑 \frontend\controllers\WeiboOauth2Controller.php 的 public function actionAuthorize(),在调用authorize接口时传入参数:forcelogin=true
/* 浏览器 302 跳转:引导用户进入授权页面登录同意授权,获取 code */
Yii::$app->response->redirect(Yii::$app->params['weiboAuth']['hostInfo'] . Yii::$app->params['weiboAuth']['baseUrl'] . '/authorize?response_type=code&forcelogin=true&client_id=' . Yii::$app->params['weiboAuth']['weiboConnectWebApp']['appId'] . '&redirect_uri=' . $redirectUri);
9、此时在同一浏览器中,可进入授权页面登录同意授权,登录另外一个微博帐号(terryhong123),如图8
图8
10、通过 Code 换取第三方授权 Access Token,相应数据操作、创建微博的微连接的网页应用的用户,获取微博的微连接的网页应用的用户列表。如图9
图9
11、打开网址:https://weibo.com/ ,确认微博帐号(永夜烟)已退出,如图10
图10
12、刷新网址:https://weibo.com/ ,确认微博帐号(terryhong123)已登录,如图11
图11
需要长期技术维护或远程问题排查?
我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。
如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:
- ✅ PHP / Laravel / Yii2 老项目无人维护
- ✅ Go / Gin 后端接口需要排查或优化
- ✅ WordPress 网站访问慢、报错或插件冲突
- ✅ Nginx / MySQL / Redis / Linux 服务器异常
- ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
- ✅ 需要长期远程技术支持或兼职维护
更多介绍请查看:关于我 & 合作
微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan
发表回复