在app中接入 Line 第三方授权登录

由于app要做海外版,所以最近在app中加入了Line的第三方授权登录。在开发过程中也经历了很多问题,填了不少坑。

line开发者注册

1、注册line账号(必须手机下载客户端,真实手机号码注册,记得手机开VPN),绑定邮箱,然后使用此邮箱进行登录,注册成为开发者。

2、Line developers 地址 登入进行操作

3、line 注册流程图示 注册你的app,iOS的注册很简单,安卓的需要签名,包名,SHA1之类的比较麻烦

4、注册完成之后就可以进行集成了

line集成

使用的mob第三方集成,cocoapods进行集成,简单快速。

pod 'mob_sharesdk', '4.3.2'

pod 'mob_sharesdk/ShareSDKPlatforms/Line'

集成之后,进行项目配置。

1、url Types 里加入line 选项 添加line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)

url Types

2、LSApplicationQueriesSchemes 添加 line,line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER),lineauth, lineauth2 四个key。

LSApplicationQueriesSchemes

3、添加LineSDKConfig,ChannelID 是为刚才line 开发者那里注册的app id。

LineSDKConfig

line使用

在appDelegate中引入头文件 ShareSDK。注意如果在国内开发,记得开启VPN。

1、代码注册

 [ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {

          [platformsRegistersetupLineAuthType:SSDKAuthorizeTypeBoth];

    }];

2、登录授权

[ShareSDK getUserInfo:SSDKPlatformTypeLine onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {

         if (state == SSDKResponseStateSuccess) {

     //成功之后,获得用户信息 user.credential.uid ,user.credential.token,user.credential.expired

        }

        else  if(state ==SSDKResponseStateCancel) {

         }

         else{

         }

    }];

3、用户验证。

客户端这边进行本地验证,或者把数据post给服务端,由服务端进行验证也可。使用的是profileV2进行验证。 https://api.line.me/v2/profile。如果进行accesToken更多操作,请参考line Social API V2

参数配置,[[EPHttpClientManager simpleInstance].requestSerializer setValue:FORMAT(@"Bearer {%@}", accessToken) forHTTPHeaderField:@"Authorization"];

返回用户详细信息之后就可以进行正常使用了。

Status codes

注意 :line 不提供用户的性别

一般的授权登录也就这样,如若在开发过程中有其他问题,欢迎在下边留言讨论。

你可能感兴趣的:(在app中接入 Line 第三方授权登录)