iOS APP提供第三方登录服务的实现

最近公司的app[A]需要提供三方登录的功能供公司其他app[B]来快捷登录。

三方授权显然想到的就是OAuth2.0协议标准以及微信第三方登录。这里附上 对OAuth 2.0理解。


iOS APP提供第三方登录服务的实现_第1张图片

1、用户在[B]的登录页点击使用[A]三方登录;

2、[B]拉起[A],AUrlScheme://xxx/xx?state=STATE&appid=APPID&scope=SCOPE;

3、[A]根据传过来的appid、state和授权作用域scope请求接口[接口①]来拉取授权信息;

4、拉取到授权信息后,[A]显示授权页面;

5、等待用户授权;

6、用户在[A]的授权页面进行授权操作;

7、用户授权操作之后,[A]拉起[B],并将参数ErrCode、code和state传给[B],BUrlScheme://xxx/xx?state=STATE&errcode=ERRCODE&code=CODE;

8、[B]拿到回调后,先验证state值,再根据临时票据code去调取接口[接口②]换取授权令牌access_token,参数appid、appSecret、code和grant_type;

9、[A]服务器将access_token、openid等数据返回给[B];

10、[B]再拿access_token和openid向[A]服务器请求接口[接口③]获取用户的信息。

你可能感兴趣的:(iOS APP提供第三方登录服务的实现)