微信登录
在多端应用中,开发者可通过如下两个 api 实现微信登录:
接口名称 | 功能介绍 | 其他说明 |
---|---|---|
wx.login | - 该接口用于在 APP 中跳转至小程序进行登录,登录后再返回 APP - 该接口返回的 jscode ,可通过小程序的 jscode2session 接口获取用户在小程序中的 openid | - 需先注册微信开放平台移动应用帐号 |
wx.miniapp.login | - 该接口是移动应用微信登录功能的封装,用户前往微信 APP 授权后即可获取code - 该接口返回的 code ,可通过移动应用的/sns/oauth2/access_token 接口获取用户在 APP 中的 openid | - 需先注册微信开放平台移动应用帐号 |
wx.weixinAppLogin | - 该接口是基于移动应用微信登录功能结合多端身份管理封装的,用户前往微信 APP 授权后即可获取code - 该接口返回的 code ,可通过多端身份管理的code2Verifyinfo 接口获取用户在 APP 中的 openid - 基于该接口进行微信登录,可在多端应用中使用云开发的能力 | - 需先注册微信开放平台移动应用帐号 - 需开通多端身份管理功能 |
- 关于 wx.login 和 wx.miniapp.login 的详细使用说明请看下方
一、注册移动应用帐号
- 3 个接口均需开发者先注册微信开放平台移动应用帐号,如果已有移动应用帐号,则可跳过此步骤;如尚未有移动应用帐号,可参考此章节步骤完成创建以及审核。
1.1 注册微信开放平台帐号
- 前往微信开放平台完成注册,详细操作指南可查看微信开放平台注册指引
1.2 创建移动应用帐号
- 登录微信开放平台,然后前往「管理中心-移动应用」
- 点击「创建移动应用」,然后填写移动应用名称、简介、官网、图标等基本信息以及开发信息,然后提交审核即可
- 等待审核通过后,即可在「管理中心-移动应用-应用详情」中查看该移动应用的 AppID 信息 (调用接口时需用到)
二、wx.miniapp.login
2.1 使用说明
- wx.miniapp.login 基于 opensdk,关联的是微信开放平台移动应用 AppID,最后获取的是用户在 APP 中的 openid
- 如果需要关联小程序的 openid 信息,可将小程序绑定在微信开放平台中,从而获取 unionID,通过 unionID 将移动应用和小程序应用关联起来。
2.2 初始化配置
使用微信开放能力前,需要先完成初始化配置
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 接收回调处理 来获取回调数据
具体实现可以参考文档。