美文网首页Android
微信扫码登录

微信扫码登录

作者: 看不见的手_ | 来源:发表于2019-08-20 16:52 被阅读0次

一、内嵌二维码扫码登录

1.在网页中引入JS文件

http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js

2.在需要使用微信登录的地方实例以下JS对象

 // 1号店示例二维码
 var obj = new WxLogin({
  self_redirect:false,
  id:"login_container", 
  appid: "wxbdc5610cc59c1631", 
  scope: "snsapi_login", 
  redirect_uri: encodeURIComponent("http://"+window.location.host+"/..."), 
  state: Math.ceil(Math.random()*1000), 
  style: "black",
  href: ""
});
参数 是否必须 说明
self_redirect 跳转到redirect_uri的方式
id 显示二维码的容齐
appid 应用唯一标识
socpe 应用授权作用域
redirect_uri 重定向地址
state 保持请求和回调状态
style 二维码样式,black\white
href 自定义样式链接

返回说明:

  • 用户授权后,将会在重定向到redirect_uri的网址上,并且带上codestate参数
redirect_uri?code=CODE&state=STATE
  • 若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数
redirect_uri?state=STATE

3.使用通过以上请求获取到的code来获取access_token

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
参数 是否必须 说明
appid 应用唯一标识
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"
}
参数 说明
access_token 接口调用凭证
expires 超时时间
refresh_token 用户刷新accrss_token
openid 授权用户唯一标识
scope 授权作用域
unionid 网站应用已获得用户授权时才会出现该字段

错误返回结果样例:

{"errcode":40029,"errmsg":"invalid code"}

刷新access_token有效期:

1. 若access_token已超时,那么进行refresh_token会获取一个新的access_token,新的超时时间;
2. 若access_token未超时,那么进行refresh_token不会改变access_token,但超时时间会刷新,相当于续期access_token。

4.获取用户信息

/// http请求方式: GET
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

正确返回结果:

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

unionid是用户统一标识,针对一个账号下的应用,该标识是唯一的。可以保存unionid以便在不用应用中进行信息互通

相关文章

  • Spring boot + Vue 微信第三方登录实践

    1. 流程图 微信登录流程如下: 点击微信登录,新开窗口,跳转到微信扫码页面 用户扫码登录,新开窗口跳转到后台微信...

  • whatsns微信开放平台网页端扫码登录开发完成(新),可以查看

    今日whatsns新上线微信开放平台扫码登录,配置也是很简单,具体在后台高级设置--微信扫码登录配置: 你得先申请...

  • 前端-获取微信openid

    第一步 登录 微信扫码登录微信开发者平台,扫码地址:微信公众平台 确定网页授权权限已开:点击左侧菜单栏 开发-接口...

  • web微信扫码登录(unionid)

    实现目标:点击微信登录按钮,打开标题为微信登录的新标签页,上面有微信二维码,手机扫码跳转到登录页面,显示登录成功。...

  • 微信扫码登录网站(网站应用微信登录)

    第一篇文章介绍的是手机微信登录公众号内的应用,今天介绍下扫码登录pc端。其实扫码登录和手机微信授权登录是一样的步骤...

  • 微信扫码登录

    一、内嵌二维码扫码登录 1.在网页中引入JS文件 2.在需要使用微信登录的地方实例以下JS对象 返回说明: 用户授...

  • 微信扫码登录

    微信开发平台:微信扫码登录功能 官方文档:https://developers.weixin.qq.com/doc...

  • OAuth2.0

    什么是OAuth2 我们都知道,很多网站登录的时候,可以通过微信、QQ、微博等APP扫码扫码认证登录,其实这就是O...

  • M站微信登录怎么做?

    应用场景:M站的微信登录是不能接开放平台的扫码登录的(手机打开M站是无法扫码的)解决办法:申请微信公众号(企业性质...

  • 微信扫码登录系统

    结合微信开发平台实现微信扫码登录的过程,其中整个过程就是用到了下面几个过程。 (1)使用JSSDK的脚本实现扫码获...

网友评论

    本文标题:微信扫码登录

    本文链接:https://www.haomeiwen.com/subject/qbnpsctx.html