微信第三方登录步骤

微信第三方登录步骤一 开发者认证认证成功后 创建网站应用 也需要企业签字盖章 还需要备案的域名 作为微信的回调 创建完成后 获取到 appid 和 appsecret 配置好回调域名 二 配置回调域名 Host 文件配置三 获取 code 第三方发起微信授权登录请求 微信用户允许授权第三方应用后 微信会拉起应用或重定向到第三方网站 并且带上授权临时票据 code 参数 https open weixin com connect qrconnect appid amp redirect uri amp

一:开发者认证

认证成功后,创建网站应用,也需要企业签字盖章,还需要备案的域名,作为微信的回调。创建完成后,获取到appid和appsecret,配置好回调域名。

二:配置回调域名 

Host文件配置  微信第三方登录步骤

三:获取code

第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数
https://open.weixin..com/connect/qrconnect?appid=&redirect_uri=&response_type=code&scope=snsapi_login&state=1#wechat_redirect 

四:获取access_token 和openid

通过code参数加上AppID和AppSecret等,通过API换取access_token
https://api.weixin..com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
{ "access_token": "ACCESS_TOKEN", "expires_in": 7200, "refresh_token": "REFRESH_TOKEN", "openid": "OPENID", "scope": "SCOPE", "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" } 

 五:拿着openid判断该用户是否用微信注册过,如果有直接登录成功,如果没有则需获取用户信息

六:获取用户个人信息(UnionID 机制)

GET https://api.weixin..com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

 返回用户信息

{ "openid": "OPENID", "nickname": "NICKNAME", "sex": 1, "province": "PROVINCE", "city": "CITY", "country": "COUNTRY", "headimgurl": "https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbER4eMsv84eavHiaiceqxibJxCfHe/0", "privilege": ["PRIVILEGE1", "PRIVILEGE2"], "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL" }

将信息存入数据库,登录成功。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225428.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午9:21
下一篇 2026年3月17日 上午9:21


相关推荐

  • awk数组

    awk数组AWK数组一.数组格式数组是一个包含一系列元素的表.格式如下:abc[1]=”xiaohong”abc[2]=”xiaolan”解释:abc:为数组名称[1]、[2]:为数组元素下标

    2022年7月1日
    22
  • MySQL相关问题整理

    MySQL相关问题整理备注:针对基本问题做一些基本的总结,不是详细解答!1.事务的基本要素2.事务隔离级别(必考)3.如何解决事务的并发问题(脏读,幻读)(必考)4.MVCC多版本并发控制(必考)5.为什么选择B+树作为索引结构(必考)6.索引B+树的叶子节点都可以存哪些东西(必考)7.查询在什么时候不走(预期中的)索引(必考)8.sql如何优化9.explain是如何解析sql的…

    2022年4月26日
    42
  • Pycharm连接并调用服务器「建议收藏」

    Pycharm连接并调用服务器「建议收藏」Pycharm可以与服务器建立连接,把相应的项目同步到服务器上,并且可以通过Pycharm直接使用服务器的解释器运行相应程序,实现Pycharm编程,服务器运行的效果。具体步骤如下:1.建立一个服务器连接Pycharm的“Tools”-》“Deployment”-》“Configuration”2.创建一个SFTP3.为该项目添加一个SSH解释器。因为前面已经添加好了服务器连接,所以这里直接选择已经设置好的就可以,如果没有已经设置好的,可以重新添加。配置好SSH之后,选择Next,设置本地项目

    2022年8月28日
    3
  • listlength函数头文件_length函数

    listlength函数头文件_length函数length函数系统默认用户浏览8778请教MySQL高手:“length()”函数与“char_length()”函数的区别是什么?高手,您好:小弟的提问如题。希望高手能够为小弟举出一个能够展示length()函数与char_length()函数区别的例子。并且配合两个函数的作用机理,为小弟做一下这两个函数区别的讲解。谢谢…高手,您好:小弟的提问如题。希望高手能够为小弟举出一个能够展示le…

    2022年6月14日
    31
  • unboundlocalerror python_Python问题:UnboundLocalError: local variable ‘xxx’ referenced before assignme…[通俗易懂]

    unboundlocalerror python_Python问题:UnboundLocalError: local variable ‘xxx’ referenced before assignme…[通俗易懂]参考链接:【解析】UnboundLocalError:localvariable’xxx’referencedbeforeassignment在函数外部已经定义了变量n,在函数内部对该变量进行运算,运行时会遇到了这样的错误:主要是因为没有让解释器清楚变量是全局变量还是局部变量。【案例】如下代码片所示:deftest():ifvalue==1:a+=1returnavalue=…

    2022年6月24日
    30
  • CTK插件框架学习3-第一个插件编写

    CTK插件框架学习3-第一个插件编写前两章把CTK插件库编译好了,这里篇编写一个插件试一下,共需要创建两个小工程,一个是插件库,一个是测试程序。1.插件库编写1.1创建工程打开Qtcreator,新建一个EmputyqmakeProject,并给工程命名为ctk-plugin-first。Kits选择”DesktopQt5.12.3MSVC201764bit”。更改ctk-plugin-first.pro文…

    2022年5月18日
    45

发表回复

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

关注全栈程序员社区公众号