码迷,mamicode.com
首页 > 移动开发 > 详细

iOS OAuth2.0的使用

时间:2017-07-03 00:53:26      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:hba   开放   afn   方法   密码   secret   using   repo   ror   

OAuth是一个关于授权(authorization)的开放网络标准,定义了四种授权方式:

  • 授权码模式(authorization code)
  • 简化模式(implicit)
  • 密码模式(resource owner password credentials)
  • 客户端模式(client credentials)

具体的模式介绍就不多说了,我用到的是客户端模式授权,没有用官网提供的几种解决办法,我这里用的是AFOAuth2Manager,实现起来很简单。

github地址:  https://github.com/AFNetworking/AFOAuth2Manager

如果你是密码模式,可以直接用下面的方法实现:

NSURL *baseURL = [NSURL URLWithString:@"http://example.com/"];
AFOAuth2Manager *OAuth2Manager =
            [[AFOAuth2Manager alloc] initWithBaseURL:baseURL
                                            clientID:kClientID
                                              secret:kClientSecret];

[OAuth2Manager authenticateUsingOAuthWithURLString:@"/oauth/token"
                                          username:@"username"
                                          password:@"password"
                                             scope:@"email"
                                           success:^(AFOAuthCredential *credential) {
                                               NSLog(@"Token: %@", credential.accessToken);
                                           }
                                           failure:^(NSError *error) {
                                               NSLog(@"Error: %@", error);
                                           }];
如果是客户端模式,方法如下,
NSURL *baseURL = [NSURL URLWithString:@"http://example.com/"];
AFOAuth2Manager *OAuth2Manager =
            [[AFOAuth2Manager alloc] initWithBaseURL:baseURL
                                            clientID:kClientID
                                              secret:kClientSecret];

[OAuth2Manager authenticateUsingOAuthWithURLString:@"

/oauth/token

" scope:@"scope" success:^(AFOAuthCredential * _Nonnull credential) {

        

        NSLog(@"---成功");

        NSLog(@"Token: %@", credential.accessToken);

    } failure:^(NSError * _Nonnull error) {

        NSLog(@"---失败");

    }];

 

iOS OAuth2.0的使用

标签:hba   开放   afn   方法   密码   secret   using   repo   ror   

原文地址:http://www.cnblogs.com/cui-cui/p/7107982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!