我正在尝试在我的iOS应用中验证用户,但我得到的是 400错误。
根据documentation,“此类流程仅限于已批准的应用程序,因此您必须先请求访问”。
那么如何批准我的应用程序才能完成此流程?
我的部分要求:
NSURL *url = [NSURL URLWithString:@"https://disqus.com/api/oauth/2.0/access_token/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:WS_TIMEOUT];
NSString *strAuth = [NSString stringWithFormat:@"%@:%@", username, password];
NSString *strAuthBase64 = [[strAuth dataUsingEncoding:NSUTF8StringEncoding] base64EncodedString];
NSString *postString = [NSString stringWithFormat@"grant_type=password&client_secret=%@&client_id=%@&scope=read,write", DISQUS_SECRET, DISQUS_KEY];
[request addValue:[NSString stringWithFormat:@"Basic %@", strAuthBase64] forHTTPHeaderField:@"Authorization"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
提前致谢。
答案 0 :(得分:3)
这是我们必须为您的应用程序启用的功能。但是,我建议托管一个页面来处理标准服务器端流程的身份验证。然后,您可以在用户授权后将访问令牌和其他变量从页面中提取到您的应用程序中。
原因是您不必处理表单验证,错误消息传递,并且可以利用我们对表单的更新而无需触及您的代码。
可以在此页面上找到PHP和Python中的一些服务器端OAuth示例:https://github.com/disqus/DISQUS-API-Recipes/tree/master/oauth
答案 1 :(得分:2)
尝试使用此库以轻松的方式解决Disqus授权问题。非常好的解决方案https://github.com/moqod/disqus-ios