Oauth 模块支持

  • 手机号一键登录
  • 新浪微博登录
  • QQ登录
  • 微信登录
  • 苹果授权登录
  • Google登录
  • Facebook登录

需要到各开放平台申请帐号

一键登录(univerify)

2.9.12+ 版本支持,手机号一键登录

添加依赖库及资源

依赖库 系统库 依赖资源
iblibOauth.a、UniVerify.framework、libGTCommonSDK-1.2.2.0.a、GeYanSdk.framework libz.tbd、libc++.tbd、libsqlite3.0.tbd、AdSupport.framework TYRZResource.bundle

工程配置

1.在 info.plist 中添加 DCloudConfig 节点类型为 Dictionary,然后添加univerify子节点类型为 Dictionary,然后在添加appid节点类型为 String,值填写您在 DCloud开发者中心 申请一键登录对应的 appid,如下图所示

一键登录(univerify) - 图1

2.使用方法请参考 一键登录 使用指南

新浪微博登录

添加依赖库及资源

依赖库 系统库 依赖资源
liblibOauth.a、libSinaWBOauth.a、liblWeiboSDK.a ImageIO.framework、libsqlite3.0.tbd WeiboSDK.bundle

工程配置

1.在 info.plist 中添加 sinaweibo 字段,填入自己帐号的信息,如下图

一键登录(univerify) - 图2

注意 SDK 3.2.0+ 必须按照下图填写

一键登录(univerify) - 图3

2.在工程的 info -> URL types 中添加配置,identifier 填写com.weibo,URL Schemes 填写wb[后面填写appkey],如下图所示

一键登录(univerify) - 图4

3.在 info.plist 添加 Schemes 白名单

一键登录(univerify) - 图5

注意 SDK 3.2.0+ 必须按照下图填写

一键登录(univerify) - 图6

配置Associated Domains(域名)

一键登录(univerify) - 图7

填写通用链接域名

一键登录(univerify) - 图8

QQ登录

添加依赖库及资源

依赖库 系统库 依赖资源
liblibOauth.a、libQQOauth.a、TencentOpenAPI.framework

工程配置

1.在工程的 info -> URL types 中添加配置,identifier 填写tencentopenapi,URL Schemes 填写tencent[后面填写appid],如下图所示

一键登录(univerify) - 图9

2.在 info.plist 添加 Schemes 白名单

一键登录(univerify) - 图10

注意 SDK 3.2.0+ 必须按照下图填写

  1. 在 info.plist 中添加 qq 字段,填入自己帐号的信息

一键登录(univerify) - 图11

  1. 配置Associated Domains(域名)

一键登录(univerify) - 图12

填写通用链接域名

一键登录(univerify) - 图13

微信登录

添加依赖库及资源

依赖库 系统库 依赖资源
liblibOauth.a、libWXOauth.a、libWeChatSDK.a libsqlite3.0.tbd、libz.tbd、CoreTelephony.framework、SystemConfiguration.framework

注意:SDK 中的

  • libWeChatSDK_pay.a 为带支付功能的微信SDK,支持微信分享、微信支付及微信授权登录功能
  • libWeChatSDK.a 为不带支付功能的SDK,仅支持微信分享和授权登录,不使用支付功能请添加此库,避免审核被拒
  • 不要同时添加到工程避免冲突

工程配置

1.在工程的 info -> URL types 中添加配置,identifier 填写weixin,URL Schemes 填写wx[后面填写appid],如下图所示

一键登录(univerify) - 图14

2.在 info.plist 添加 Schemes 白名单

一键登录(univerify) - 图15

3.配置Associated Domains(域名)

一键登录(univerify) - 图16

填写通用链接域名

一键登录(univerify) - 图17

4.在info.plist root 节点添加UniversalLinks字段,值和您在微信开放平台配置的一致,参考如下:(SDK 3.2.0版本以后 此项已废弃,仅保留字段,配置参数已经位置如步骤5所示)

一键登录(univerify) - 图18

5.在 info.plist 添加 weixin(3.2.0 以前为weixinoauth) 项,填写微信 appidappSecret, UniversalLinks,值和您在微信开放平台配置的一致,参考如下:

一键登录(univerify) - 图19

6.在工程的 AppDelegate.m 系统通用链接回调方法中调用框架方法如下:

  1. - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler {
  2. [PDRCore handleSysEvent:PDRCoreSysEventContinueUserActivity withObject:userActivity];
  3. restorationHandler(nil);
  4. return YES;
  5. }

苹果登录

添加依赖库及资源

依赖库 系统库 依赖资源
liblibOauth.a、libAppleOauth.a AuthenticationServices.framework

注意:AuthenticationServices.framework Status 为 Optional

开启 Sign in with Apple

在原生工程 -> Signing&Capabilities-> + Capability 中添加 Sign in with Apple 服务

证书配置及使用说明请参考 文档

Google登录

添加依赖库及资源

依赖库 系统库 依赖资源
liblibOauth.a、libGoogleOauth.a、GoogleSignIn.framework、GoogleSignInDependencies.framework AuthenticationServices.framework、CoreText.framework、CoreGraphics.framework、LocalAuthentication.framework、SafariServices.framework、Security.framework GoogleSignIn.bundle

工程配置

1.在 info.plist 添加 googleOauth 项,填写Google clientid,参考如下: 一键登录(univerify) - 图20

2.在工程的 info -> URL types 中添加配置,identifier 填写google_url, 添加您的反向clientid作为URL Schemes,如下图所示 一键登录(univerify) - 图21

Facebook登录

添加依赖库及资源

依赖库 系统库 依赖资源
liblibOauth.a、libFBOauth.a、FBSDKCoreKit.framework、FBAEMKit.framework、FBSDKCoreKit_Basics.framework、FBSDKLoginKit.framework libc++.tbd、Accelerate.framework、Accounts.framework、AdSupport.framework、AudioToolbox.framework、CoreGraphics.framework、QuartzCore.framework、Security.framework、Social.framework、StoreKit.framework、

工程配置

1.在 info.plist 添加 FacebookAppID 项,填写Facebook appid,参考如下: 一键登录(univerify) - 图22

2.在工程的 info -> URL types 中添加配置,identifier 填写facebook,URL Schemes 填写fb[后面填写appid],如下图所示 一键登录(univerify) - 图23

3.在 info.plist 添加 Schemes 白名单

一键登录(univerify) - 图24

注意 :除苹果授权登录外,都需要实现如下方法

在 AppDelegate.m 文件的系统回调方法中调用框架的方法如下

  1. - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
  2. {
  3. [PDRCore handleSysEvent:PDRCoreSysEventOpenURL withObject:url];
  4. return YES;
  5. }
  6. - (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
  7. [PDRCore handleSysEvent:PDRCoreSysEventOpenURLWithOptions withObject:@[url,options]];
  8. return YES;
  9. }