Нет refresh_token в ответе SalesForce OAuth

Я взаимодействую с настраиваемой службой APEX, которая, очевидно, требует аутентификации OAuth. Я могу легко аутентифицировать и авторизовать свое приложение. Все нормально работает.

Однако токен доступа, который я получаю, имеет тенденцию к истечению срока действия.

Конечно, я могу обновить его, отправив refresh_token. Звучит здорово.

Проблема в том, что я не получаю refresh_token в ответе от SalesForce.

Я отправляю запросы на [instance] .salesforce.com / services / oauth2 / token, я также пытался использовать login.salesforce.com/services/oauth2/token, но не могу найти в ответе «refresh_token». Там есть все кроме него! ..


person Mike Borozdin    schedule 13.06.2012    source источник
comment
какой поток oauth вы используете? какой у тебя обратный звонок?   -  person superfell    schedule 14.06.2012
comment
@superfell Все было правильно, кроме объема. Смотрите мой ответ ниже. Спасибо, в любом случае :)!   -  person Mike Borozdin    schedule 14.06.2012


Ответы (2)


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

Создать> Приложения> API (Включить настройки OAuth)> Выбранные области действия OAuth.

person vasanth vasu    schedule 26.10.2015
comment
Я не уверен, почему полного доступа (полного) недостаточно ... но это не так. Вы также должны сделать то, что описано выше. Огромное спасибо. - person barclay; 21.04.2016
comment
Обратите внимание, что по умолчанию срок действия токена обновления истекает немедленно. Вам нужно войти в Управление подключенными приложениями, отредактировать свое приложение и изменить параметр истечения срока действия токена обновления, в противном случае вы получите срок действия токена истек, когда вы попытаетесь его обновить. ???? - person Llama; 25.12.2019

Решил проблему благодаря моему замечательному коллеге.

Я должен был добавить «refresh_token» в область видимости при получении кода авторизации.

person Mike Borozdin    schedule 14.06.2012
comment
Фактически, refresh_tokens не раздаются (или больше не выдаются), если вы не создаете мобильное приложение или приложение In-SalesForce. См. wiki.developerforce.com/page/ и выполните поиск. Обратите внимание, что refresh_token отправляется только в одном из следующих случаев. Я узнал об этом после 4 часов попыток выяснить, почему он мне не дал. :) Я счастлив, что ошибаюсь .. - person Anthony; 10.05.2013
comment
Вы когда-нибудь заставляли это работать? Я не получаю токен обновления, несмотря на настройки области. - person Kevin O'Hara; 15.07.2014