我正在尝试对我的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]];

提前致谢。

最佳答案

从头到尾,这是我们必须为您的应用程序启用的功能。但是,我建议您托管一个页面来处理标准服务器端流程的身份验证。然后,您可以在用户授权后将访问 token 和其他变量从页面中拉到您的应用程序中。

原因是您不必处理表单验证,错误消息,并且可以在不触摸您的代码的情况下利用我们对表单的更新。

可以在此页面上找到一些PHP和Python上的服务器端OAuth示例:https://github.com/disqus/DISQUS-API-Recipes/tree/master/oauth

关于ios - Disqus密码凭证OAuth,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17835122/

10-14 10:32