Привет всем, кто сталкивался с авторизацией со сторонних приложений в SF. Из мне известных это
1) SOAP + Достаточно логина и пароля(+токен) - ну SOAP нехочеться возиться
2) REST + всё просто сервисы простые всё в json - надо создавать прилоение на стороне SF и для авторизации надо передавать токен и секретный ключ, неудобно.
Есть другие варианты? хочеться чтобы в приложении клиент просто вводил свой логин и пароль от сф и всё?
Привет всем, кто сталкивался с авторизацией со сторонних приложений в SF. Из мне известных это 1) SOAP + Достаточно логина и пароля(+токен) - ну SOAP нехочеться возиться 2) REST + всё просто сервисы простые всё в json - надо создавать прилоение на стороне SF и для авторизации надо передавать токен и секретный ключ, неудобно. Есть другие варианты? хочеться чтобы в приложении клиент просто вводил свой логин и пароль от сф и всё?
Есть и другие варианты. Но они еще сложнее.
Можно в краце объяснить что Вас не устраивает в выше описанных методах авторизации?
Есть и другие варианты. Но они еще сложнее. Можно в краце объяснить что Вас не устраивает в выше описанных методах авторизации?
В SOAP не устраивает необходимость использования xml для дальнейшей работы, хочется json'ом лёгкие рест методы.
В REST не устраивает необходимость создавать Apps потом вбивать Consumer Key и Consumer Secret в приложение.
В SOAP не устраивает необходимость использования xml для дальнейшей работы, хочется json'ом лёгкие рест методы. В REST не устраивает необходимость создавать Apps потом вбивать Consumer Key и Consumer Secret в приложение.
Ну батенька......
Ну батенька......
Можно в краце объяснить что Вас не устраивает в выше ©
А можно сессию из соапа заюзать для доступа к ресту?
Или получить Consumer Key и Consumer Secret через SOAP?
[quote="wilder"]Ну батенька......[/quote] Можно в краце объяснить что Вас не устраивает в выше © :) А можно сессию из соапа заюзать для доступа к ресту? Или получить Consumer Key и Consumer Secret через SOAP?
Можно. Но не всегда...
[quote="ace"]А можно сессию из соапа заюзать для доступа к ресту? [/quote] Можно. Но не всегда...
Не можно а нужно.
Так собтвенно все и делают. Логинятся через SOAP (тот самый ненавистный XML), получают из него ID сессии и дальше работают со любыми вариантами API где он поддерживается. Wilder может и прав что он не везде поддерживается, но я лично пока с таким не сталкивался. Для 99% задач этот вариант работает.
[quote="ace"]А можно сессию из соапа заюзать для доступа к ресту? [/quote] Не можно а нужно. Так собтвенно все и делают. Логинятся через SOAP (тот самый ненавистный XML), получают из него ID сессии и дальше работают со любыми вариантами API где он поддерживается. Wilder может и прав что он не везде поддерживается, но я лично пока с таким не сталкивался. Для 99% задач этот вариант работает.
Спс понял буду пробовать.
[quote="Dmitry Shnyrev"][quote="ace"]А можно сессию из соапа заюзать для доступа к ресту? [/quote] Не можно а нужно. Так собтвенно все и делают. Логинятся через SOAP (тот самый ненавистный XML), получают из него ID сессии и дальше работают со любыми вариантами API где он поддерживается. Wilder может и прав что он не везде поддерживается, но я лично пока с таким не сталкивался. Для 99% задач этот вариант работает.[/quote] Спс понял буду пробовать.
А куда идентификатор сессии пихать при рест запросах?
А куда идентификатор сессии пихать при рест запросах?
А куда идентификатор сессии пихать при рест запросах?
Разобрался, ШИКАРНО.
Если кому понадобиться
шлём сюда
https://test.salesforce.com/services/Soap/u/40.0
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:partner.soap.sforce.com">
<soapenv:Body>
<urn:login>
<urn:username>login</urn:username>
<urn:password>pass+token</urn:password>
</urn:login>
</soapenv:Body>
</soapenv:Envelope>
https://test.salesforce.com/services/data/v20.0/query/?q=SELECT+name,Phone+from+Account
Authorization: Bearer +sessionId
[quote="ace"]А куда идентификатор сессии пихать при рест запросах?[/quote] Разобрался, ШИКАРНО. Если кому понадобиться шлём сюда [code] https://test.salesforce.com/services/Soap/u/40.0 [/code] вот это [code] <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:partner.soap.sforce.com"> <soapenv:Body> <urn:login> <urn:username>login</urn:username> <urn:password>pass+token</urn:password> </urn:login> </soapenv:Body> </soapenv:Envelope> [/code] Получаем сессию дальше [code] https://test.salesforce.com/services/data/v20.0/query/?q=SELECT+name,Phone+from+Account [/code] в хеадерах пишем [code] Authorization: Bearer +sessionId [/code]
Authorization: Bearer +sessionId
Все верно!
[quote="ace"]Authorization: Bearer +sessionId[/quote] Все верно!