没有不值得去解决的问题,也没有不值得去学习的技术!

微博的微连接的网页应用授权(引导用户进入授权页面登录同意授权、创建微博的微连接的网页应用的用户),在同一浏览器中,创建了第一个用户之后,无法再创建第二个用户的分析与解决

此时在同一浏览器中,可进入授权页面登录同意授权,登录另外一个微博帐号(terryhong123)
1、获取微博的微连接的网页应用授权(引导用户进入授权页面登录同意授权、创建微博的微连接的网页应用的用户)的链接,如图1
获取微博的微连接的网页应用授权(引导用户进入授权页面登录同意授权、创建微博的微连接的网页应用的用户)的链接
图1
2、打开网址:https://weibo.com/ ,确认微博帐号未登录,如图2
打开网址:https://weibo.com/ ,确认微博帐号未登录
图2
3、微博的微连接的网页应用授权(引导用户进入授权页面登录同意授权、创建微博的微连接的网页应用的用户),登录同意授权,如图3
微博的微连接的网页应用授权(引导用户进入授权页面登录同意授权、创建微博的微连接的网页应用的用户),登录同意授权
图3
4、通过 Code 换取第三方授权 Access Token,相应数据操作、创建微博的微连接的网页应用的用户,获取微博的微连接的网页应用的用户列表。如图4
通过 Code 换取第三方授权 Access Token,相应数据操作、创建微博的微连接的网页应用的用户,获取微博的微连接的网页应用的用户列表
图4
5、打开网址:https://weibo.com/ ,确认微博帐号(永夜烟)已登录,如图5
打开网址:https://weibo.com/ ,确认微博帐号(永夜烟)已登录
图5
6、此时需要在同一浏览器中,可进入授权页面登录同意授权,登录另外一个微博帐号(terryhong123),以创建微博的微连接的网页应用的用户,最终创建失败,分析:第一个微博帐号(永夜烟)在同一浏览器中已经处于登录状态,因此,自动跳过登录页面,创建微博的微连接的网页应用的用户,但是,由于 user_id 设置了唯一索引,创建失败。如图6 如果用户在授权有效期内重新打开授权页授权(如果此时用户有微博登录状态,这个页面将一闪而过)。
此时需要在同一浏览器中,可进入授权页面登录同意授权,登录另外一个微博帐号(18328600160),以创建微博的微连接的网页应用的用户,最终创建失败,分析:第一个微博帐号(永夜烟)在同一浏览器中已经处于登录状态,因此,自动跳过登录页面,创建微博的微连接的网页应用的用户,但是,由于 user_id 设置了唯一索引,创建失败。
图6
7、现阶段的需求是,希望能够在同一浏览器中,可重复创建多个微博的微连接的网页应用的用户(在创建第二个用户时,需要再次进入授权页面登录同意授权),查看OAuth2.0的文档,发现其支持强制登录功能,如图7 强制登录 授权页会默认读取当前用户的微博登录状态,如果你想让用户重新登录,请在调用authorize接口时传入参数:forcelogin=true,默认不填写此参数相当于forcelogin=false。
现阶段的需求是,希望能够在同一浏览器中,可重复创建多个微博的微连接的网页应用的用户(在创建第二个用户时,需要再次进入授权页面登录同意授权),查看OAuth2.0的文档,发现其支持强制登录功能
图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
此时在同一浏览器中,可进入授权页面登录同意授权,登录另外一个微博帐号(terryhong123)
图8
10、通过 Code 换取第三方授权 Access Token,相应数据操作、创建微博的微连接的网页应用的用户,获取微博的微连接的网页应用的用户列表。如图9
通过 Code 换取第三方授权 Access Token,相应数据操作、创建微博的微连接的网页应用的用户,获取微博的微连接的网页应用的用户列表。
图9
11、打开网址:https://weibo.com/ ,确认微博帐号(永夜烟)已退出,如图10
打开网址:https://weibo.com/ ,确认微博帐号(永夜烟)已退出
图10
12、刷新网址:https://weibo.com/ ,确认微博帐号(terryhong123)已登录,如图11
刷新网址:https://weibo.com/ ,确认微博帐号(terryhong123)已登录
图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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理