¶ 微信登录
更新时间: 2022-03-25 00:33:45
集成微信需要三个主要步骤:
- 在微信开放平台进行配置
- 在 Authing 管理控制台进行配置
- 集成 iOS SDK
¶ STEP 1:在 微信开放平台 (opens new window) 进行配置
使用微信登录需要开发人员在微信开放平台认证,认证主体需要是个体商户,企事业单位,不支持个人开发人员,当前认证费用为 300 RMB
- 获取 AppID 和 AppSecret

- 设置 iOS 应用信息

微信要求通过 Universal Links (opens new window) 的方式回调
¶ STEP 2:在 Authing 管理控制台的操作步骤
- 在控制台的 “连接身份源” 菜单选择 “创建社交身份源“

- 选择 “微信移动端”

- 填入微信开放平台对应的 AppID 和 AppSecret

¶ STEP 3:集成 iOS SDK 步骤
¶ 初始化 Guard SDK
通过 Swift Package Manager 引入 Guard 依赖并调用初始化函数。详细步骤
¶ Info.plist 里面添加启动微信白名单
key:LSApplicationQueriesSchemes
value:weixin,weixinULAPI
注意大小写

¶ 在应用启动的时候设置微信:
import Guard
Authing.setupWechat("your_wechat_appid", universalLink: "your_deep_link")
第一个参数为微信应用 id;第二个参数为 iOS Universal Link (opens new window)
¶ 处理微信回调
微信返回应用后,如果使用了 SceneDelegate,则需要在 SceneDelegate.swift 里面重载下面的函数:
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "wechatLoginOK"), object: userActivity)
}
如果未使用 SceneDelegate,则需要在 AppDelegate 里面重载
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "wechatLoginOK"), object: userActivity)
return true
}
¶ 发起微信授权
推荐通过我们提供的语义化 Hyper Component,只需要在 xib 里面放置一个:
WechatLoginButton
所有的逻辑由我们语义化引擎自动处理。如果想自己实现微信登录,拿到授权码后,可以调用下面 API 换取 Authing 用户信息:
func loginByWechat(_ code: String, completion: @escaping(Int, String?, UserInfo?) -> Void)
参数
- authCode 微信授权码
示例
AuthClient().loginByWechat(authCode) { code, message, userInfo in
if (code == 200) {
// userInfo:用户信息
}
}
本文是否有解决您的问题?
如果遇到其他问题,你可以在 authing-chat/community 联系我们。