以QQ为平台的Oauth2.0介绍

其实吧,Oauth可能大家也接触过,只是不知道有这个名字而已,说的通俗一点就是授权登陆,如果我有一个应用,想要吸引用户,但是注册是个麻烦的事情,很多用户可能欲望不大,但是像QQ这样拥有众多用户的服务商,就提供了一个授权登陆,让用户直接用QQ就可以登陆,其实说的直白点,我写的应用,啥事没干,就感觉让客户登陆了一下,而且我其实也拿不到用户的账号,只是获取了客户的信息,还有一个授权的token。对于我的应用来说token就相当于客户的账号信息(这里不是真实地,只是说腾讯给你的一个,腾讯哪里承认而且能够获取用户的信息的一窜信息)。

腾讯的平台已经封装的足够简单了,可能不知其所以然。

Oauth2.0平台一般流程如下:

应用----------------->弹出登陆页面----------------->用户点击----------------->程序向服务商请求未授权的令牌----------------->应用得到未授权的令牌并且跳转到登陆界面

----------------->用户登陆并把未授权的令牌给服务商----------------->服务商认证登陆,并把授权的令牌丢给应用,这个授权令牌应用可以保存,作为下一场登陆地依据。

这是一般的,当然QQ也是这么做的,但是有几部换了个样子:比如程序向服务商请求未授权的令牌就是我们申请的appid和appkey,在ios中应用之间的跳转很简单,如果A应用跳转的B应用,只要在B应用的

URL Schemes中写上,特定的字符,然后A应用openurl就可以了,同理B应用跳回A应用一样道理,但是,注意,调到A应用,会调用代理:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

个人认为,跳转到qq的登陆页面,主要起作用的还是你申请的appkey,这个key在服务器注册了,一旦接收到这些key就定向到登陆界面,

 _tencentOAuth = [[TencentOAuth alloc] initWithAppId:@"101025299" andDelegate:self];
 [_tencentOAuth authorize:_permissions inSafari:NO];

这两句就很明显了首先传入的appid,作为一个校验和跳回app的url存在。

跳转回来就更简单了,你按照他的规则tencent+appid,注意哦,要是写错了,可是完全没办法回来的。


至于工程怎么实现,腾讯的demo已经讲的非常仔细,小白都能看懂,所以不做赘述,给上url:http://wiki.open.qq.com/wiki/website/IOS_SDK使用说明


建议大家尝试一下,比较简单,但是确实实用!






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值