Должен ли URL-адрес обратного вызова Salesforce REST API быть HTTPS? - PullRequest
1 голос
/ 11 сентября 2011

Я пытался подключиться к Salesforce REST API, но мне не очень повезло. Краткое руководство по API REST Salesforce гласит, что требуется URL-адрес обратного вызова HTTPS, но в этом примере в качестве URL-адреса обратного вызова используется https://localhost:8443/RestTest/oauth/_callback.

Я попытался подключиться на своем тестовом сервере (HTTP), используя этот php Salesforce REST API пример , но Salesforce, похоже, подобрался и вошел в цикл перенаправления.

Можно ли подключиться к Salesforce REST API, если у меня нет SSL-сертификата, и если да, как я могу это сделать?Кстати, мое приложение написано на PHP, а не на Java, как большинство официальных примеров.

Ответы [ 2 ]

1 голос
/ 31 августа 2018

Для localhost он принимает http, и вы должны использовать https для localhost. Но URI перенаправления в запросе и URL обратного вызова в подключенном приложении должны совпадать.

Вы можете использовать http://localhost:8080/<any_page_in_ur_project> как в подключенном приложении, так и в запросе.

1 голос
/ 11 сентября 2011

Я никогда не использовал Salesforce REST API, но я прочитал страницу, на которую вы ссылались.

URL-адрес обратного вызова OAuth должен быть HTTPS. Вы, кажется, обнаружили это сами, оба в документации:

Должно быть безопасно: http: // не работает, только https://

... и пример:

@WebInitParam(name = "redirectUri", value = 
    "https://localhost:8443/RestTest/oauth/_callback")

Что касается вашего другого вопроса:

Можно ли подключиться к Salesforce REST API, если у меня нет SSL-сертификата, и если да, как я могу это сделать?

Предположительно вторым методом, как указано в первом предложении на странице, на которую вы ссылаетесь:

Вы можете настроить авторизацию, используя OAuth 2.0 или передавая идентификатор сеанса .

...

Авторизация идентификатора сессии

Вы можете использовать идентификатор сеанса вместо токена доступа OAuth 2.0, если вы не обрабатываете чужой пароль:

  1. Получите идентификатор сеанса, например, вызов API веб-служб SOAP login() возвращает идентификатор сеанса. У вас также может быть идентификатор сеанса, например, как часть текущего контекста Apex.

  2. Используйте идентификатор сеанса при отправке запроса на ресурс. Подставьте идентификатор для значения токена.

Таким образом, при условии, что вы не обрабатываете чужой пароль (что бы это ни значило), вы можете использовать login(), чтобы получить идентификатор сеанса и связаться с веб-службой оттуда.

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