Skip to content

微信登录功能 / 网站应用微信登录开发指南 (qq.com)

微信二维码登录流程总结

  1. 生成二维码:
  • 成功:返回一个包含登录二维码的页面。
  1. 用户扫描二维码:
    • 用户使用已登录的微信扫描二维码,实际上是向二维码包含的地址发送一个 GET 请求,同时携带用户的个人信息。
  2. 用户确认登录:
    • 微信收到用户扫描二维码的请求后,返回一个包含当前应用信息、当前用户信息、准备授予的权限以及一个确认按钮的页面。
    • 用户点击确认按钮后,再次向微信服务器发送请求,表示同意或不同意此次登录请求。
  3. 微信生成授权码:
    • 如果用户不同意,流程中断。
    • 如果用户同意,微信服务器会生成一个 code,并携带这个 code 向应用的回调 API 发送一个 GET 请求。请求示例:GET REDIRECT_URI?code=CODE&state=STATE返回说明:
    • 成功:包含 code 和 state 参数的回调请求。
    • 失败:无重定向。
  4. 应用服务器处理回调:
    • 应用服务器接收到微信的回调请求后,从中提取出 code。
    • * 应用服务器使用 code 加上应用的 appId 和 appSecret,向微信服务器发送请求以换取 access_token 等信息。请求示例:GET https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=APPSECRET&code=CODE&grant_type=authorization_code参数说明:
      

参数 是否必须 说明 appid 是 应用唯一标识 secret 是 应用密钥AppSecret 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" }
  • 失败:
  1. 获取用户信息:
  • 失败:

安全性和其他注意事项

  • 安全性考虑:
    • appSecret 应该存储在服务器端,不要暴露在客户端代码中,以防止被恶意获取。
    • access_token 和 refresh_token 也应妥善保管,以防止用户数据泄漏。
  • 刷新 access_token:
  • 成功:
  • 失败:
  • 接口调用:
    • 在获取 access_token 后,可以调用微信的各种开放接口,如获取用户信息(/sns/userinfo)。

本站总访问