第三方登录微信授权

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/snow_cake/article/details/82851141

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

[微信公众平台|开发文档] 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,调后台的提供接口获得用户信息。

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

猜你喜欢

转载自blog.csdn.net/snow_cake/article/details/82851141