微信登录

在多端应用中,开发者可通过如下两个 api 实现微信登录:

接口名称功能介绍其他说明
wx.login- 该接口用于在 APP 中跳转至小程序进行登录,登录后再返回 APP
- 该接口返回的 jscode ,可通过小程序的 jscode2sessionopen in new window 接口获取用户在小程序中的 openid
- 需先注册微信开放平台移动应用帐号
wx.miniapp.login- 该接口是移动应用微信登录open in new window功能的封装,用户前往微信 APP 授权后即可获取code
- 该接口返回的 code ,可通过移动应用的/sns/oauth2/access_tokenopen in new window 接口获取用户在 APP 中的 openid
- 需先注册微信开放平台移动应用帐号
wx.weixinAppLogin- 该接口是基于移动应用微信登录open in new window功能结合多端身份管理open in new window封装的,用户前往微信 APP 授权后即可获取code
- 该接口返回的 code ,可通过多端身份管理的code2Verifyinfoopen in new window 接口获取用户在 APP 中的 openid
- 基于该接口进行微信登录,可在多端应用中使用云开发的能力
- 需先注册微信开放平台移动应用帐号
- 需开通多端身份管理功能
  • 关于 wx.login 和 wx.miniapp.login 的详细使用说明请看下方

一、注册移动应用帐号

  • 3 个接口均需开发者先注册微信开放平台移动应用帐号,如果已有移动应用帐号,则可跳过此步骤;如尚未有移动应用帐号,可参考此章节步骤完成创建以及审核。

1.1 注册微信开放平台帐号

1.2 创建移动应用帐号

  • 登录微信开放平台open in new window,然后前往「管理中心-移动应用」
  • 点击「创建移动应用」,然后填写移动应用名称、简介、官网、图标等基本信息以及开发信息,然后提交审核即可
  • 等待审核通过后,即可在「管理中心-移动应用-应用详情」中查看该移动应用的 AppID 信息 (调用接口时需用到)

二、wx.miniapp.login

2.1 使用说明

  • wx.miniapp.login 基于 opensdk,关联的是微信开放平台移动应用 AppID,最后获取的是用户在 APP 中的 openid
  • 如果需要关联小程序的 openid 信息,可将小程序绑定在微信开放平台中,从而获取 unionID,通过 unionID 将移动应用和小程序应用关联起来。

2.2 初始化配置

使用微信开放能力前,需要先完成初始化配置

  • 【iOS】初始化配置查看这里
  • 【安卓】初始化配置查看这里

2.3 wx.miniapp.login 调用示例

示例:


// login
wx.miniapp.login({
    success: (res) => {
        console.log('login success:', res.code)
    }
})

三、wx.login

因为跨端App中无法直接获取微信小程序的登录态,所以可以通过opensdk跳转到微信内的微信小程序调用wx.login,然后将结果返回到app中。 以上这个流程,在开发阶段,sdk和工具已尽可能帮开发者完成,无需开发者自己完整改造即可兼容wx.login的原本逻辑。 但在体验或上线版本,开发者需了解其中的配置以及实现原理,然后进行改造。

安卓项目 wx.login 需要额外增加 WXEntryActivity 接收回调处理open in new window 来获取回调数据

具体实现可以参考文档

四、wx.weixinAppLogin