2014-08-08 4 views
0

В процессе OAuth1, я сохранить токены и мой секрет, и воссоздать мой маркер доступа, как следующее:Scribe - восстановить маркер доступа с кодом (OAuth2 против OAuth1)

accessToken = new Token(token, secret); 

В процессе oauth2, я только получить код. Если бы я сохранить этот код и попытаться воссоздать маркер доступа, как следующие, сбои приложения:

Verifier v = new Verifier(code); 
accessToken = service.getAccessToken(null, v); 

Отклик:

org.scribe.exceptions.OAuthException: Невозможно извлечь маркер доступа. Ответ был: { "код": 400, "ERROR_TYPE": "OAuthException", "error_message": "Нет соответствующего кода не найдено."}

Как восстановить маркер доступа в процессе oauth2?

ответ

0

Я думаю, что проблема заключается не в том, чтобы ваш код Java извлекал токен (бит, который вы показываете как минимум), - это отлично выглядит из того, что я могу сказать.

Сообщение об ошибке является ответом назад от службы вы пытаетесь разрешить с (например, щебет, или независимо от того, что в вашем случае), говоря, что

code 

не известно. Это может произойти, если слишком много времени прошло с тех пор, как вы получили этот код авторизации от службы, или просто потому, что код авторизации, который у вас есть, по какой-то причине неправильный.

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

code 

, что происходит в конструктор

Verifier 

? Можете ли вы предоставить больше кода, который вы используете для этого?

[Извините, я добавил бы это в качестве комментария, но не имеет достаточной репутации.]