Может ли кто-нибудь рассказать мне, как я могу получить долгоживущий токен доступа для социальных сайтов с помощью spring social
. Если возможно, укажите фрагмент кода. Я использую spring 1.1.0
spring facebook
, linkedIn
и twitter
API.Долгосрочный токен доступа, используя весенний социальный
ответ
No. На сайте разработчика Facebook, они дали эту опцию для долгоживущего маркера доступа: (Введен в вашей ценности для APP_ID
, APP_SECRET
и EXISTING_ACCESS_TOKEN
)
graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN
Если мы недолгая или нормальный токен доступа, мы получим долгоживущий токен доступа.
Для Twitter, который использует OAuth 1.0a, токены не истекают. Таким образом, вы должны получить токен, который длится практически навсегда (пока пользователь не отменяет его).
Для Facebook это невозможно (ни в коем случае), чтобы получить токен, который живет вечно. Вы только вариант, чтобы получить токен и использовать его, когда сможете. Как только токен истек, вы должны снова пройти поток авторизации, чтобы получить новый токен. Хорошей новостью является то, что Spring Social предоставляет ReconnectFilter, чтобы помочь вам в этом. См. Пример Spring Social Showcase (https://github.com/spring-projects/spring-social-samples/tree/master/spring-social-showcase), в частности SocialConfig.java
и WebMvcConfig.java
, чтобы узнать, как настроить ReconnectFilter
.
Моя память немного нечеткая в LinkedIn, но я помню, что LinkedIn обрабатывает истекшие жетоны точно так же, как Facebook (т. Е. Вы должны повторно авторизоваться, чтобы получить новый токен). Поэтому ReconnectFilter
также должен помочь вам.
Обратите внимание, что поведение, описанное выше для FB и LI, равно , а не в соответствии со спецификацией OAuth 2. По спецификациям обновляются токены обновления, а также токены доступа и могут использоваться для получения нового токена доступа после истечения срока действия оригинала. FB и LI не реализуют часть токена обновления спецификации. Я не знаю, почему именно, но я подозреваю, что это потому, что это более безопасно. Если клиент должен перенаправить пользователя через поток авторизации для получения нового токена, то это означает, что пользователь должен активно использовать приложение и быть участником возобновления токена. Подход к спецификации не требует участия пользователя, за исключением начального потока полномочий - приложение может возобновить токены навсегда, даже если пользователь никогда не использует приложение снова.
Кажется, что нет специальной функции, предназначенной для обмена краткосрочным токеном на долгоживущий. Вот код, который отлично работает для меня:
private static final String CLIENT_ID = "client_id";
private static final String APP_SECRET = "app_secret";
private static final String GRAPH_API_URL = "https://graph.facebook.com/oauth/access_token";
private static final String FB_EXCHANGE_TOKEN1 = "fb_exchange_token";
private static final String FB_EXCHANGE_TOKEN = "fb_exchange_token";
private static final String CLIENT_SECRET = "client_secret";
private static final String GRANT_TYPE = "grant_type";
(...)
public void execute(LoginFlow message) {
URI build = UriBuilder
.fromPath(GRAPH_API_URL)
.queryParam(CLIENT_ID, mClientId)
.queryParam(GRANT_TYPE, FB_EXCHANGE_TOKEN1)
.queryParam(CLIENT_SECRET, mAppSecret)
.queryParam(FB_EXCHANGE_TOKEN, message.getAccessToken())
.build();
String url = build.toString();
Facebook facebook = new FacebookTemplate(message.getAccessToken());
ResponseEntity<String> exchange = facebook.restOperations()
.exchange(url, HttpMethod.GET, HttpEntity.EMPTY, String.class);
String response = exchange.getBody();
String longTermToken = Utils.extractToken(response);
(...)
}
Прохладный! Что такое "Utils.extractToken()"? Я нашел этот код примера getQueryStringParam, который может быть полезен. http://stackoverflow.com/questions/2271800/how-to-read-the-parameters-and-value-from-the-querystring-using-java –
- 1. Facebook Долгосрочный токен доступа
- 2. Как создать токен доступа facebook для данного ключа приложения и секретного ключа, используя весенний социальный facebook?
- 3. Как получить долгосрочный токен доступа от java
- 4. Долгосрочный токен доступа для Google OAuth 2.0
- 5. Расписание на стене facebook, используя весенний социальный
- 6. Весенний социальный вход с токеном OAuth
- 7. Весенний социальный вход со связанными
- 8. конвертировать краткосрочный токен доступа пользователя в долгосрочный токен доступа пользователя с помощью c sharp
- 9. Facebook PHP SDK Долгосрочный токен доступа истекает после обновления сайта
- 10. Как получить токен доступа, используя токен обновления?
- 11. Spotify долгосрочный токен с iOS SDK
- 12. Весенний социальный вход и перенаправление и возвращаемое значение
- 13. Geolocate tweets из Twitter API - Весенний социальный твиттер
- 14. не может получить токен доступа, используя токен обновления
- 15. coinbase oauth2 иногда не обновлял токен доступа (используя токен обновления)
- 16. Oauth query - используя токен доступа и секрет
- 17. Как получить токен доступа, используя код авторизации?
- 18. Получить токен доступа Facebook, используя PHP
- 19. Получить токен доступа к Twitter, используя Javascript
- 20. Создать токен доступа, используя Dotnet Open Auth
- 21. Как получить токен доступа Facebook, используя F #
- 22. Создать токен доступа Box.com, используя Guzzle
- 23. facebook Постоянный/Долгосрочный ключ доступа для проекта python
- 24. Является ли Весенний социальный танец OAuth с Facebook безопасным?
- 25. Проверка хостов не выполняется на https://www.apis.google.com/ в весенний социальный
- 26. Сервер OpenID Connect. Создайте токен доступа на основе 3-го партийного токена (социальный вход)
- 27. Facebook Правильный токен доступа
- 28. Почему я не могу получить группы, к которым я присоединился, используя долгосрочный access_token (Facebook)?
- 29. Токен доступа для Dockerhub
- 30. Как получить постоянный долгосрочный токен аутентификации для приложения Google Apps?
Нет в facebook разработчика сайте они дали вариант для долгоживущего маркера доступа .. из этого URL мы можем получить долго жить маркеры доступ https://graph.facebook.com/OAuth/access_token? client_id = APP_ID & client_secret = APP_SECRET & grant_type = fb_exchange_token & fb_exchange_token = EXISTING_ACCESS_TOKEN для этого, если мы даем короткий токен сроку или нормальный доступ мы получим долгоживущий маркер доступа .. я проверил его, генерируется маркер доступа работает более 2 дня .. –