2015-12-08 3 views
4

Я пытаюсь получить идентификатор сеанса для частичного пакета Salesforce.Получение {"error": "invalid_grant", "error_description": "failure failure"} в Salesforce?

Мой код:

curl https://test.salesforce.com/services/oauth2/token -d "grant_type=password" -d "client_id=definitely the correct client id" -d "client_secret=definitely the correct client secret" -d "[email protected]" -d "password=passandsecuritytoken" 

Что еще я сделал:

  • Grant полный доступ в моих подключенных настройках приложения
  • Установить Ip ограничения на рыхлых ограничения IP-
  • «Все пользователи могут авторизовать себя "
  • Двойной проверенный пропуск, идентификатор клиента, секрет клиента, имя пользователя

Я все еще получаю ошибку {"error":"invalid_grant","error_description":"authentication failure"}.

Я искал в форумах SF и вопросах StackOverflow, но я не мог найти для этого решения. Кто-нибудь знает, что еще может быть проблемой здесь?

ответ

1

Я все еще смущен, и я точно не знаю, что происходит, но у меня была такая же проблема, и я смог «исправить» ее, выполнив следующее.

Во-первых, ослабьте ограничения IP-адреса для приложения.

Управление приложениями -> Подключенные приложения -> (название мое приложение)

Затем установить "IP Расслабление", чтобы "ослабить ограничения IP".

Насколько я знаю, в приложении песочницы, с которым я работаю, в приложении песочницы нет ограничений IP, но я все еще новичок в этом, поэтому, возможно, они где-то скрываются.

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

Я действительно не знаю, разрешил ли я свою проблему, но я возвращаю токен доступа, а не ошибку «invalid_grant».

Я планирую провести дополнительное расследование, чтобы выяснить, что происходит, но я подумал, что, хотя у меня был этот вопрос, я бы удостоверился, что этот ответ был здесь.

2

Salesforce требует обновления до TLS 1.1 или выше до 22 июля 2017 года, чтобы согласовать с лучшими практиками в области безопасности и целостности данных: from help.salesforce.com.

Если вы используете версию .Net старше 4.6, попробуйте добавить этот код:

System.Net.ServicePointManager.SecurityProtocol = 
SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; 

Другой вариант заключается в редактировании реестра:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] 
"SchUseStrongCrypto"=dword:00000001 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] 
"SchUseStrongCrypto"=dword:00000001 

Проверить эту ссылку для более подробных ответов : Default SecurityProtocol in .NET 4.5

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