iOS APP间授权登录(无需SDK类似微信登录)(源码+解析)

iOS APP间授权登录(无需SDK类似微信登录)(源码+解析)

在这里插入图片描述

  • 这两天做了一个需求,(类似微信等的授权登录)就是手头做的这个项目暂且称之为APP B提供给友商去拉起,提供授权登录的操作,授权成功后返回登录凭证token等信息给APP A处理

1,实现APP间相互调起(查看了相关技术资料,三种实现方式)
2,拉起指定的授权页面
3,应用间数据相互传递

步骤:
应用A_app跳转到应用B_app
1、首先我们用Xcode创建两个iOS应用程序项目,项目名称分别为A_app、B_app。
2、选择项目B_app -> TARGETS -> Info -> URL Types -> URL Schemes,设置B_app的URL Schemes为B_app。
在这里插入图片描述
设置B_app的URL Schemes
3、在应用程序A_app中添加一个用来点击跳转的Button,并监听点击事件,添加跳转代码

//跳转代码
-(void)Click:(UIButton *)btn{
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"B_app://sing?type=1&package_name=com.vistateach.wtepractice"]];
    [[UIApplication sharedApplication] openURL:url];
}

4、在B_app的AppDelegate里

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
//跳转授权页面
    NSString *urlStr = url.absoluteString;
            VistaAuthorizeViewController *vc=[[VistaAuthorizeViewController alloc]init];//VistaAuthorizeViewController是授权页面
            vc.package_name=[urlStr componentsSeparatedByString:@"package_name="][1];
            UINavigationController *naVC = [[UINavigationController alloc]initWithRootViewController:vc];
            self.window.rootViewController = naVC;
        return YES;
}

5、在VistaAuthorizeViewController.m中写上UI
其中包含立即登录按钮 ,在登录事件中 反拉A_app并传值 token

A_app设置
在这里插入图片描述
B_app立即登录点击事件中

-(void)login:(UIButton *)btn{
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"A_app://sing?taken=%@",Token]];
    [[UIApplication sharedApplication] openURL:url];
}

这样B_app就接受到token做相应处理就好了

demo(包含2个APP,A_app申请授权,B_app授权应用)下载地址

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值