2013-07-24 5 views
1

Я пытаюсь выполнить аутентификацию пользователя в приложении iOS, но все, что я получаю, это ошибка .Учетные данные для учетной записи Disqus OAuth

Согласно 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 [email protected]"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]]; 

Спасибо заранее.

ответ

3

Это то, что мы должны были бы включить для вашего приложения с нашего конца. Однако вместо этого я бы рекомендовал разместить страницу для проверки подлинности со стандартным потоком на стороне сервера. Затем вы можете вытащить токен доступа и другие переменные со страницы в ваше приложение после авторизации пользователем.

Причина в том, что вам не нужно иметь дело с проверкой формы, обменом сообщениями об ошибках и может использовать наши обновления в форме, не касаясь вашего кода.

Некоторые примеры OAuth на стороне сервера в PHP и Python можно найти на этой странице: https://github.com/disqus/DISQUS-API-Recipes/tree/master/oauth

2

Попробуйте эту библиотеку, которая решает проблему авторизации Disqus в гладком образом. Действительно приятное решение https://github.com/moqod/disqus-ios

+0

Выглядит очень хорошо! –

Смежные вопросы