Не получает токен обновления от Salesforce - PullRequest
0 голосов
/ 22 мая 2019

Я давно использую Force.com Toolkit для .NET. Недавно один из клиентов начал жаловаться на недопустимую сессию. Поэтому я начал копать и обнаружил, что мне нужно обновить токен, вызвав TokenRefreshAsync , для которого мне нужно передать токен обновления, который я получаю во время аутентификации. Но я получаю нулевой токен обновления от SF.

Я перепробовал все возможное, что нашел в интернете, но безуспешно. Выполнять запросы от вашего имени в любое время (refresh_token, offline_access) добавлено в OAuth Scopes:

enter image description here

Срок действия маркера обновления установлен на 2 дня:

enter image description here

Это простой код, который я использую для аутентификации:

var task = authClient.UsernamePasswordAsync(consumerKey, consumerSecret, username, password, callback);
task.Wait();

Что мне здесь не хватает?

1 Ответ

2 голосов
/ 23 мая 2019

Поток Oauth Имя пользователя-Пароль не предоставляет токен обновления в Salesforce, независимо от областей действия:

Этот поток аутентификации OAuth передает учетные данные пользователя туда и обратно.Используйте этот поток аутентификации только при необходимости.Токен обновления не выдается.

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

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