更新时间:2024-07-11 GMT+08:00
分享

配置微信公众号登录功能

通过应用与微信对接,实现用户登录微信公众号并获取到用户信息。

前提条件

已在微信公众平台注册了商户的公众账号,并获取如下所示关键信息。

  • 开发者ID(AppID):微信公众号开发识别码,配合开发者密码可调用公众号的接口能力。在微信公众平台申请公众账号后,微信会自动分配对应的AppID。

    获取方法:使用注册的公众账号和密码登录微信公众平台https://mp.weixin.qq.com/,在微信公众平台“开发 > 基本配置”中,查看“AppID”取值。商户的公众账号审核通过后,邮件中也会包含该字段值。

  • 开发者密码(AppSecret):是校验公众号开发者身份的密码,具有极高的安全性,用于获取接口调用凭证access_token时使用。

    获取方法:使用注册的公众账号和密码登录微信公众平台https://mp.weixin.qq.com/,在微信公众平台“开发 > 基本配置”中,单击“AppSecret”后的“重置”进行获取。

创建微信公众号连接器

  1. 参考创建连接器入口中操作,进入创建连接器页面。
  2. 在左侧列表中,选择“登录 > 微信登录”,单击“+”。

    图1 新建微信登录连接器

  3. 设置微信对接参数,单击“保存”。

    • 名称:连接器的名称。
    • APPID:微信公众号开发识别码,请与前提条件中的“AppID”取值保持一致。
    • 密钥:校验公众号开发者身份的密码,请与前提条件中的“AppSecret”取值保持一致。
    • 作用域:用户登录微信公众号的授权作用域类型,有如下两种。
      • snsapi_base :不会弹出授权页面,不需要用户授权,只能获取用户的openid。
      • snsapi_userinfo:会弹出授权页面,需要用户授权,可通过openid获取用户头像、昵称等信息。即使在用户未关注微信公众号的情况下,只要用户授权,也能获取其信息。
    • 重定向地址:用户授权后,重定向回调的地址。

在脚本中调用连接器

您在脚本中,调用已创建的连接器,实现用户登录微信公众号。

  1. 在微信客户端的H5页面,发起AJAX请求,用于获取code。

    请求如下所示:

    https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

    若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。

  2. 参考开发一个简单脚本实例中操作,创建一个空白脚本。

    图2 创建一个空白脚本

  3. 在脚本编辑器中,输入如下代码。

    import * as wechat from 'wechat';
    
    let connectorID = "whchat"
    let code = "xxxxx" 
    let client = wechat.NewClient(connectorID)
    let res = client.GetAccessToken(code)
    console.log(res)

    其中,“connectorID”为连接器的名称,“code”为1获取的code取值。

  4. 单击脚本编辑器页面上方的,保存脚本。
  5. 保存成功后,单击,执行脚本。
  6. 不用输入请求报文,直接单击测试窗口右上角的
  7. 在日志页签,查看到已获取“access_token”和“openid”,可用于登录微信公众号。

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

相关文档