2013-10-24 3 views
0

Я пытаюсь реализовать Foursquare Native OAuth в своем приложении для Android. Я следовал примеру четырехквартирных библиотек и успешно создал user_token для пользователя.Foursquare Redirect uri несоответствие на родном Android OAuth login

Однако, следуя рекомендациям Foursquare о том, что мой секрет приложения не хранится нигде в приложении, а вместо этого используется обмен файлами на сервере/access_token, я выполняю вызов на своем сервере, но каждый раз получаю ошибку redirect_uri_mismatch каждый раз, когда я это делаю ,

Я получаю код аутентификации, как указано в примере приложения:

AuthCodeResponse codeResponse = FoursquareOAuth.getAuthCodeFromResult(resultCode, data); 

Затем я посылаю, что Идент код из моего Android приложения на моем сервере рельсы. Я предполагаю, что access_token должен быть получен после шага 3 из https://developer.foursquare.com/overview/auth#code, но я получаю ответ redirect_uri_mismatch.

Я использую полное гнездо на моем сервере рельсы отправить Четвероугольного мой запрос на access_token:

response = Nestful.post 'https://foursquare.com/oauth2/access_token', 
     client_id: ENV_CONFIG['foursquare_client_id'], 
     client_secret: ENV_CONFIG['foursquare_client_secret'], 
     grant_type: 'authorization_code', 
     redirect_uri: ENV_CONFIG['redirect_uri'], 
     code: params[:code] 
@token = response['access_token'] 

Отклик:

{"error":"redirect_uri_mismatch"} 

Я уже проверил конфигурацию приложения на Foursquare, где я также установил свой созданный Android Hash Key и даже попытался предоставить это как параметр redirect_uri для генерации токена acess, но безрезультатно.

Любая идея, что я могу делать неправильно?

ответ

2

Оказалось, что данный код проверяет первоначально отправленный redirect_uri. Поскольку первый не был указан в первую очередь, параметр redirect_uri не должен передаваться в обменный вызов code/access_token.

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