我正在使用dribbble客戶端,並且無法使用AFOAuth2Manager進行身份驗證。我目前使用的是NXOAuth2Client,但是我剛剛遇到了AFOAuth2Manager,所以我想說一說。使用AFOAuth2Manager進行身份驗證
使用NXOAuthClient,從服務器獲取令牌沒有問題。但是,當涉及到AFOAuth2Manager時,它總是返回一個錯誤。
這是我用NXOAuth2Client來初始化:
[[NXOAuth2AccountStore sharedStore] setClientID:kDRBClientID
secret:kDRBClientSecret
scope:[NSSet setWithObjects:@"public", @"write", @"comment", @"upload", nil]
authorizationURL:[NSURL URLWithString:kDRBAuthorizationURL]
tokenURL:[NSURL URLWithString:kDRBTokenURL]
redirectURL:[NSURL URLWithString:kDRBRedirectURL]
keyChainGroup:kDRBAccountType
forAccountType:kDRBAccountType];
使用我試圖用AFOAuth2Manager給init這樣相同的常數:
NSURL *baseURL = [NSURL URLWithString:kDRBBaseUrl];
AFOAuth2Manager *OAuth2Manager =
[[AFOAuth2Manager alloc] initWithBaseURL:baseURL
clientID:kDRBClientID
secret:kDRBClientSecret];
OAuth2Manager.useHTTPBasicAuthentication = NO;
NSDictionary *dictionary = @{@"scope" : @"public write",
@"redirect_uri" : kDRBRedirectURL};
[OAuth2Manager authenticateUsingOAuthWithURLString:@"/oauth/authorize"
parameters:dictionary
success:^(AFOAuthCredential *credential) {
NSLog(@"Token: %@", credential.accessToken);
}
failure:^(NSError *error) {
NSLog(@"Error: %@", error);
}];
標誌在dribbble第一流量直接將用戶登錄到登錄頁面(即/ oauth/authorize頁面),在用戶輸入用戶名和密碼後,它會將用戶重定向到給定的redirectURL。
我現在的問題是我甚至無法進入登錄頁面。有人能澄清我在做什麼錯嗎? (我也嘗試了AFOAuth2Manager中的不同身份驗證方法,但都沒有工作)。
我對OAuth2非常陌生,請耐心等待。
更新
這裏的錯誤日誌:
Error: Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: client error (422)" UserInfo=0x7fb02ad2de00 {com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x7fb02ad6e200> { URL: https://dribbble.com/oauth/authorize } { status code: 422, headers {
Connection = close;
"Content-Length" = 47;
"Content-Type" = "application/json; charset=utf-8";
Date = "Sat, 08 Aug 2015 23:52:20 GMT";
Server = "nginx/1.4.6 (Ubuntu)";
Status = "422 Unprocessable Entity";
"X-Request-Id" = "8489a5f0-206a-48ff-b6e7-81664fc6b6f5";
"X-Runtime" = "0.006667";
} }
隨着NXOAuth2Client,它會在頁面準備一個網址爲標誌與我的PARAMS這樣的:
https://開頭dribbble.com/oauth/authorize?client_id=my_client_id & scope = write%20comment%20upload%20public & redirect_uri = my_redirect_uri & response_type =代碼
但我注意到,與AFOAuth2它會在https://dribbble.com/oauth/authorize引發錯誤。它不會將我的參數附加到請求url?
什麼是錯誤?更新有問題的錯誤。 –
嗨,我剛剛更新錯誤日誌的帖子。謝謝! –