首页 > 代码库 > iOS OAuth2.0的使用
iOS OAuth2.0的使用
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的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。