问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

微信公众号网页授权获取OpenId完整指南

创作时间:
作者:
@小白创作中心

微信公众号网页授权获取OpenId完整指南

引用
搜狐
1.
https://m.sohu.com/a/762913203_121894855/?pvid=000115_3w_a

OpenId是微信中一种唯一的标识符,可用于识别特定用户。本文将介绍如何利用微信公众号实现网页授权以获取用户OpenId的过程。

官方文档中的两种Scope类型

在开始之前,我们需要了解官方文档中的两种Scope类型:snsapi_base和snsapi_userinfo。

  • snsapi_base:无需用户同意即可静默授权并获取进入页面用户的OpenId。
  • snsapi_userinfo:需要用户手动同意以获取其基本信息。

获取OpenId的基本步骤

第一步:发起授权请求

在微信中访问以下链接:

https://open.weixin.qq.com/connect/oauth2/authorize
  ?appid={appid}
  &redirect_uri={redirect_uri}
  &response_type=code
  &scope=snsapi_base
  &state=STATE
  #wechat_redirect

请注意替换appidredirect_uri。此过程会令微信将请求重定向至已设置的redirect_uri。同时会在URL中附加code参数,例如:

http://example.com?myparam=myvalue&code=xxx

第二步:获取Access Token

在开发者服务器接收到redirect_uri的请求后,通过向以下地址发送请求,提交appidappsecretcodegrant_type参数以获得access token:

https://api.weixin.qq.com/sns/oauth2/access_token

整个过程完成后,服务器将会返回包含OpenId等信息的结果,示例如下:

{
  "access_token": "ACCESS_TOKEN",
  "expires_in": 7200,
  "refresh_token": "REFRESH_TOKEN",
  "openid": "OPENID",
  "scope": "SCOPE"
}

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号