第三方登录微信授权

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三方登录微信授权相关的知识,希望对你有一定的参考价值。

工作中遇到了微信授权,记录一下做个笔记,省了以后忘了

[微信公众平台|开发文档] http://mp.weixin.qq.com/wiki/home/

首先,啥时候会用到微信授权

  用户想在微信上访问第三方网页,需要微信授权。授权之后可以获取到用户信息

  微信授权分为两种:snsapi_base(用户无感知的,可以叫静默授权)和snsapi_userinfo(需要用户手动同意的授权,不知道别名叫爪子)

其次,微信授权的流程 

      1 第一步:用户同意授权,获取code

      2 第二步:通过code换取网页授权access_token

      3 第三步:刷新access_token(如果需要)

      4 第四步:拉取用户信息(需scope为 snsapi_userinfo)

      5 附:检验授权凭证(access_token)是否有效

引导用户打开下面的链接,以便用户同意授权,获取code

      scope为snsapi_base

      https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect 

     scope为snsapi_userinfo 

     https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect 

 参数说明

 

 

appid 公众号的唯一标识(后台给) 必填
redirect_uri  授权成功后的回调地址 (不能是ip) 必填
response_type 返回类型,请写code(人家规定的,就写code)   必填
scope

snsapi_base (静默授权,不弹出授权页面,直接跳转,只能获取到openid) 

snsapi_userinfo (弹出授权页面,通过openid拿到用户昵称,性别等用户信息)

必填
state 自定义参数,最多128字节  
#wechat_redirect 无论干啥都要带的参数 必填

 

 

 

 用户点击后页面跳转到redirect_uri?code=code&state=state这个页面,这个code用来获取access_token的

 值得注意的是,redirect_uri后面的这个地址和微信公众号上配置的地址要在同一个域名下,不然就会出现redirect_uri参数错误的现象,具体的配置路径,公众号设置--功能设置--网页授权域名

技术分享

在配置这个网页授权域名的时候需要下载一个文件技术分享,把它放在项目里就可以啦!

 

 

 其实第三方登录大部分的工程都是在后台哥哥那里的,前端需要引导用户去点击或者进入前面说的授权链接,获取到code,调后台哥哥的提供接口获得用户信息。

可能不同的项目不同的公司做法实现的方法会不一样,以上是我这次所学到的东西,做一下记录,也给各位做一个参考,有不对的地方欢迎指正。

 

 

以上是关于第三方登录微信授权的主要内容,如果未能解决你的问题,请参考以下文章

第三方登录授权分享的内容啥意思

微信第三方登录(静默授权和非静默授权)

微信第三方登录与静默授权和非静默授权

uni-app授权第三方登录(微信授权登录)

uni-app授权第三方登录(微信授权登录)

uni-app授权第三方登录(微信授权登录)