iOS 寰烁授权登录SDK接入流程

接入流程
  1. 将SDK的framework导入到工程中


    HSKit.framework
  2. 配置工程
  • 将申请的appId添加到URL Types中作为钉钉回调的scheme;URL Schemes填写申请的AppId。 iOS9及以后的系统需要将钉钉和分享SDK的scheme配置在Info.plist。LSApplicationQueriesSchemes列表中,scheme分别为 hsedu, hsedu-sso。


    配置工程
  1. 注册应用并添加必要的URLHandler


    image.png
  2. 判断当前设备是否支持分享到钉钉

    image.png

    注意:在iOS9上需要将钉钉SDK相关的Scheme注册到Info.plist的LSApplicationQueriesSchemes名单中,否则会导致检测方法总是返回NO。

iOS平台应用授权登录接入代码示例
  1. Info.plist配置查询寰烁授权登录scheme权限。LSApplicationQueriesSchemes中添加hsedu, hsedu-sso。hsedu用于查询是否安装寰烁。hsedu-sso用于查询是否支持授权登录。注:iOS系统限制LSApplicationQueriesSchemes最多只能有50个,超出的话会有一部分不生效。
  2. Info.plist的URL Types中增加appId,用于寰烁App返回回调。
  3. app启动时注册appId。示例代码:
// 在app启动时注册appId
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 注册AppId及AppSecret;
    [HSOpenAPI registerApp:#该应用的appId# appSecret:#该应用的AppSecret#];
    return YES;
}
  1. 发起授权登录。示例代码:
BOOL result = [HSOpenAPI openDingTalkForSSO];
if (result) {
    NSLog(@"授权登录 发送成功.");
}
else {
    NSLog(@"授权登录 发送失败.");
}
  1. 处理回调。示例代码:
// 在app delegate链接处理回调中调用寰烁回调链接处理方法
- (BOOL)application:(UIApplication *)application
            openURL:(nonnull NSURL *)url
  sourceApplication:(nullable NSString *)sourceApplication
         annotation:(nonnull id)annotation
{
    if ([HSOpenAPI handleOpenURL:url delegate:self]) {
        return YES;
    }

    return NO;
}
// delegate实现回调处理方法 onResp:
- (void)onResp:(DTBaseResp *)resp
{
  //授权登录回调参数为HSAuthorizeResp,accessCode为授权码
    if ([resp isKindOfClass:[HSAuthorizeResp class]]) {
        HSAuthorizeResp *authResp = (HSAuthorizeResp *)resp;
        if (HSOpenAPISuccess == authResp.errorCode) {
            NSString *accessCode = authResp.accessCode;
        // 将授权码交给服务端做SSO
    }
}

你可能感兴趣的:(iOS 寰烁授权登录SDK接入流程)