为ios创建谷歌oauth 2的应用程序会话时返回invalid_grant

时间:2013-07-25 18:38:53

标签: ios google-api oauth-2.0 google-oauth

我正在使用谷歌的OAuth2.0流程让用户在我的iOS应用中签名。

GTMOAuth2ViewControllerTouch返回GTMOAuth2Authentication之后,我仍然需要 用我的后端创建一个自己的应用程序会话。我知道这会流向我们的网站。

我已经尝试通过将GTMOAuth2Authentication身份验证代码发布到Google来验证会话,但我总是会收到400 invalid_grant错误。 (用于测试porpuses我使用Objective-C进行POST,这通常由我们的后端处理)

NSDictionary *data = @{
                           @"code":googleAuthCode,
                           @"redirect_url":@"urn:ietf:wg:oauth:2.0:oob",
                           @"client_secret":SD_OAUTH_CLIENT_SECRET,
                           @"client_id":SD_OAUTH_CLIENT_ID,
                           @"grant_type":@"authorization_code"
                           };


AFHTTPClient *google = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"https://accounts.google.com"]];

NSString *path = @"/o/oauth2/token";
[google postPath:path parameters:data success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"responseObject %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"failed %@",error);
}];`

有关如何创建应用程序会话的任何建议吗?

感谢

1 个答案:

答案 0 :(得分:0)

您是否尝试使用gtm-oauth2库: https://code.google.com/p/gtm-oauth2/

另请查看那里的文档: https://code.google.com/p/gtm-oauth2/wiki/Introduction