我使用谷歌的OAuth2.0流程让用户在我的iOS应用程序中签名。
在GTMOAuth2ViewControllerTouch
返回GTMOAuth2Authentication
之后用我的后端创建一个自己的应用程序会话。我知道这个流我们的网站在哪里工作。
我已经尝试通过将GTMOAuth2Authentication
身份验证代码从发布到Google来验证会话,但我总是会收到400 invalid_grant
错误。(为了测试porpus,我使用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);
}];`
如何创建应用程序会话有什么建议吗?
感谢
您是否尝试使用gtm-oauth2库:https://code.google.com/p/gtm-oauth2/
还要查看那里的文档:https://code.google.com/p/gtm-oauth2/wiki/Introduction