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(@"---失敗");

    }];

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM