Регистрация  |  Вход

О Single Sign On (SSO): у кого-нибудь был опыт?

Как я прочитал в книге обсуждаемой здесь:

https://salesforce-developer.ru/forum/topic-byt-sf-konsultantom-arhitektorom-analitikom

и как виже на практике, SFDC приходит на предприятие как расширение уже сущетсвующей системы.

пользователи логятся в свою родную систему и оттуда бесшовно входят в СФ аккаутн через SSO.

я этим впорос не занимался, но вижу что люди сталкиваются с многими проблема (порой залогивания просто не происходит).

у кого-то был опыт наладки SSO? как это все работает? какие проблемы?

Как я прочитал в книге обсуждаемой здесь:

https://salesforce-developer.ru/forum/topic-byt-sf-konsultantom-arhitektorom-analitikom

и как виже на практике, SFDC приходит на предприятие как расширение уже сущетсвующей системы. 

пользователи логятся в свою родную систему и оттуда бесшовно входят в СФ аккаутн через SSO.

я этим впорос не занимался, но вижу что люди сталкиваются с многими проблема (порой залогивания просто не происходит).

у кого-то был опыт наладки SSO? как это все работает? какие проблемы?

Посмотри мои две статьи (единственные ) на
http://salesforce-developer.net/
Была когда-то задумка завоевать сердца англоязычных SF разработчиков

Посмотри мои две статьи (единственные :) ) на
[url=http://salesforce-developer.net/]http://salesforce-developer.net/[/url]
Была когда-то задумка завоевать сердца англоязычных SF разработчиков :D 

Отлично, буду изучать.

Отлично, буду изучать.

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

Я экспериментировал с PHP с готовым популярным приложением. И то мне пришлось всю документацию перелопатить раза три. Я никогда так не вчитывался в документации чтобы понять что там для чего.

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

Я экспериментировал с PHP с готовым популярным приложением. И то мне пришлось всю документацию перелопатить раза три. Я никогда так не вчитывался в документации :) чтобы понять что там для чего.

осталось добавить, что у SF есть guide и на эту тему:

Single Sign-On Implementation Guide - Salesforce.com

как и все другие guides, это документ есть и в виде ПДФ, но я предпочитаю htm вариант.

осталось добавить, что у SF есть guide и на эту тему:

[url=http://www.salesforce.com/us/developer/docs/sso/index.htm]Single Sign-On Implementation Guide - Salesforce.com[/url]

как и все другие guides, это документ есть и в виде ПДФ, но я предпочитаю htm вариант.

Я им в основном и пользовался при изучении, и еще вот это разбирал по кубикам

Single Sign-On with SAML on Force.com

Тут опять же повторюсь важно знать и противоположную сторону.

Den, ты с какой платформой планируешь связывать свой орг?

Я проводил опыт над SimpleSAMLphp (php на то время был ближе )
но есть куча других библиотек и готовых приложений бизнес уровня.

Я им в основном и пользовался при изучении, и еще вот это разбирал по кубикам

[url=https://developer.salesforce.com/page/Single_Sign-On_with_SAML_on_Force.com]Single Sign-On with SAML on Force.com[/url]

Тут опять же повторюсь важно знать и противоположную сторону.

Den, ты с какой платформой планируешь связывать свой орг?

Я проводил опыт над [url=https://simplesamlphp.org/]SimpleSAMLphp[/url] (php на то время был ближе :) )
но есть куча других библиотек и готовых приложений бизнес уровня.

да в том то и дело, что нет доступа к головной платформе. Работать я буду с админом той платформы. Он вроде в этом всем SSO разбирается, осталось только самому разобраться, чтобы кооперация была эффективной.

да в том то и дело, что нет доступа к головной платформе. Работать я буду с админом той платформы. Он вроде в этом всем SSO разбирается, осталось только самому разобраться, чтобы кооперация была эффективной.

Ну тогда это все сильно упрощает.
На стороне SF тебе только разобраться с парой настроек.
Моих исследований должно хватить выше крыши.

Только вот еще вспомнил (только сейчас) там должно было быть 3 статьи. По ходу не хватило у меня сил или что-то мне помешало. 3 статья должна была быть самая интересная - как автоматически создавать пользователей на стороне Salesforce если их не было, но пользователь залогинился со стороны сервиса SSO. В принципе там ничего сложного, но результат очень понравился Собственно такой результат и должен быть итогом настройки SSO.

Хотя с другой стороны автоматическое создание пользователей на стороне SF очень "опасная штука" - если это дело не проконтролировать, то можно быстро лишиться всех лицензий. Лучше конечно мигрировать пользователей вручную и уже потом открыть им доступ по SSO. Хотя опять же зависит от требований.

Ну тогда это все сильно упрощает.
На стороне SF тебе только разобраться с парой настроек.
Моих исследований должно хватить выше крыши.

Только вот еще вспомнил :) (только сейчас) там должно было быть 3 статьи. По ходу не хватило у меня сил или что-то мне помешало. 3 статья должна была быть самая интересная - как автоматически создавать пользователей на стороне Salesforce если их не было, но пользователь залогинился со стороны сервиса SSO. В принципе там ничего сложного, но результат очень понравился :) Собственно такой результат и должен быть итогом настройки SSO. 

Хотя с другой стороны автоматическое создание пользователей на стороне SF очень "опасная штука" - если это дело не проконтролировать, то можно быстро лишиться всех лицензий. Лучше конечно мигрировать пользователей вручную и уже потом открыть им доступ по SSO. Хотя опять же зависит от требований. 

вот тут есть хороший рисунок на тему.
https://blog.surfnet.nl/?p=1417

как понял это работает так.

в страницу головного портала (IDP) заАйФремина орговая стандартная или кастомная или портальная страница СФ (SP), которая при загрузке делает пост реквест на спец страницу IDP и в тело поста закладывается SAML с инфой "я СФ орг такой то" в виде сертификата, а кто этот пользователь? И если юзер уже залогился в головной портал (а это так и будет), то IDP без труда определяет юзера, так как вызов идет с того браузера. И делает ответный ПОСТ реквест на спец страницу SP (нашего СФ орга) куда шлет ответный SAML с сертификатом IDP (я такой-то) и фед айди пользователя. ПОсле этого CФ сверяет данные и если все ок, то залогивает пользователя и переводит на изначально вызванную страницу.

Так получается? Но не понятно, а с чего бы это наша заАйФременная простая орговая (или портальная) страница вдруг сделает редирект браузера на спец страницу IDP с запросом "А хто енто ломится в Орг?". Вот это вопрос! Или изначально в айфрейм загружаем не целевую страницу Орга (куда и хотим попасть) и другую, специальную страницу которая знает как себя вести (то есть делает ПОСТ на IDP) .. вот это еще не понятно... и если это так, то как задается целевая страница, т.е страницу куда в принципе нужно попасть... а если через разные страницы головного портала мне нужно попадать на разные страницы СФ...

PS: подумал, если наш орг зайфремин в головной портал, то зачем вообще делать запрос от Орга (как это на рисунке в ссылке выше). В айфрем просто в адрес указывается наша спец страница для лога в СФ орг, и головной портал просто сходу отправлят ответ с именем пользователя, а та СФ страница образаобывает это и делает редирект куда-надо (а как делает?).

да, много написал, но пока это мои размышления о том как это все работает.

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

Плюс настройка еще двух страниц: для логаута и ошибки лога. как я понимаю это могут быть стандартные СФ стрнаицы или... кастомные СФ сттраницы или вообще не орговые СФ страницы а страницы внешнего портала, это пока не сообразил.

вот тут есть хороший рисунок на тему.
https://blog.surfnet.nl/?p=1417

как понял это работает так.

в страницу головного портала (IDP) заАйФремина орговая стандартная или кастомная или портальная страница СФ (SP), которая при загрузке делает пост реквест на спец страницу IDP и в тело поста закладывается SAML с инфой "я СФ орг такой то" в виде сертификата, а кто этот пользователь? И если юзер уже залогился в головной портал (а это так и будет), то IDP без труда определяет юзера, так как вызов идет с того браузера. И  делает ответный ПОСТ реквест на спец страницу SP (нашего СФ орга) куда шлет ответный SAML с сертификатом   IDP (я такой-то) и фед айди пользователя. ПОсле этого CФ сверяет данные и если все ок, то залогивает пользователя и переводит на изначально вызванную страницу.

Так получается? Но не понятно, а с чего бы это наша заАйФременная простая орговая (или портальная) страница [b]вдруг[/b] сделает редирект браузера на спец страницу IDP с запросом "А хто енто ломится в Орг?". Вот это вопрос! Или изначально в айфрейм загружаем не целевую страницу Орга (куда и хотим попасть) и другую, специальную страницу которая знает как себя вести (то есть делает ПОСТ на IDP) .. вот это еще не понятно... и если это так, то как задается целевая страница, т.е страницу куда в принципе нужно попасть... а если через разные страницы головного портала мне нужно попадать на разные страницы СФ...

PS: подумал, если наш орг зайфремин в головной портал, то зачем вообще делать запрос от Орга (как это на рисунке в ссылке выше). В айфрем просто в адрес указывается наша спец страница для лога в СФ орг, и головной портал просто сходу отправлят ответ с именем пользователя, а та СФ страница образаобывает это и делает редирект куда-надо (а как делает?).

да, много написал, но пока это мои размышления о том как это все работает.

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

Плюс настройка еще двух страниц: для логаута и ошибки лога. как я понимаю это могут быть стандартные СФ стрнаицы или... кастомные СФ сттраницы или вообще не орговые СФ страницы а страницы внешнего портала, это пока не сообразил.


Den Brown
Так получается? Но не понятно, а с чего бы это наша заАйФременная простая орговая (или портальная) страница вдруг сделает редирект браузера на спец страницу IDP с запросом "А хто енто ломится в Орг?". Вот это вопрос! Или изначально в айфрейм загружаем не целевую страницу Орга (куда и хотим попасть) и другую, специальную страницу которая знает как себя вести (то есть делает ПОСТ на IDP) .. вот это еще не понятно... и если это так, то как задается целевая страница, т.е страницу куда в принципе нужно попасть... а если через разные страницы головного портала мне нужно попадать на разные страницы СФ...

Дело в том что SSO работает на главной странице login Salesforce (насколько мне получилось понять). Получается что если просто откроешь орговую страницу или вставишь ее в ифрейм и попытаешься посмотреть, то Salesforce покажет тебе вместо этого страницу логина, на которой уже есть кнопка для входа через SSO (под логином и паролем стандартными). Нажав на эту кнопку тебе несколько раз редиректнет (в рамках того же iframe) и в итоге ты увидишь нужную орговую страницу (или home page наверное, надо проверять)

Получается что процедуру авторизации на SF надо проходить в любом случае, только с SSO она упрощается до нажатия одной кнопки вместо ввода своих кредов.

Вот как это дело автоматизировать (сделать невидимым для пользователя) вопрос!

[quote="Den Brown"]Так получается? Но не понятно, а с чего бы это наша заАйФременная простая орговая (или портальная) страница вдруг сделает редирект браузера на спец страницу IDP с запросом "А хто енто ломится в Орг?". Вот это вопрос! Или изначально в айфрейм загружаем не целевую страницу Орга (куда и хотим попасть) и другую, специальную страницу которая знает как себя вести (то есть делает ПОСТ на IDP) .. вот это еще не понятно... и если это так, то как задается целевая страница, т.е страницу куда в принципе нужно попасть... а если через разные страницы головного портала мне нужно попадать на разные страницы СФ...[/quote]

Дело в том что SSO работает на главной странице login Salesforce (насколько мне получилось понять). Получается что если просто откроешь орговую страницу или вставишь ее в ифрейм и попытаешься посмотреть, то Salesforce покажет тебе вместо этого страницу логина, на которой уже есть кнопка для входа через SSO (под логином и паролем стандартными). Нажав на эту кнопку тебе несколько раз редиректнет (в рамках того же iframe) и в итоге ты увидишь нужную орговую страницу (или home page наверное, надо проверять)

Получается что процедуру авторизации на SF надо проходить в любом случае, только с SSO она упрощается до нажатия одной кнопки вместо ввода своих кредов. 

Вот как это дело автоматизировать (сделать невидимым для пользователя) вопрос!

Dmitry Shnyrev
на которой уже есть кнопка

как кнопка?!

я думал что там просто открываешь страницу с айфреймом, содержимое фрейма делает редиректы с сообщениеми для систем и вот ты уже видишь целевую страницу...

будет время спрошу своих коллег как это выглядит в Проде.

[quote="Dmitry Shnyrev"]на которой уже есть кнопка [/quote]

как кнопка?!

я думал что там просто открываешь страницу с айфреймом, содержимое фрейма делает редиректы с сообщениеми для систем и вот ты уже видишь целевую страницу...

будет время спрошу своих коллег как это выглядит в Проде.

Да, обязательно уточни.

пока то что мне удалось выжать из SSO это просто дополнительная кнопка на странице login.

Вот как тут внизу n24idp

Да, обязательно уточни.

пока то что мне удалось выжать из SSO это просто дополнительная кнопка на странице login.

Вот как тут внизу n24idp

[img]http://salesforce-developer.net/wp-content/uploads/2013/11/salesforce-login-page-with-sso.png[/img]

Не знаю у нас на проекте все работает чудесно, на основе ActiveDrectory

Не знаю у нас на проекте все работает чудесно, на основе ActiveDrectory

ActiveDrectory это имеется в виду третья сторона, которая возвращает идентифицированного пользователя - identity provider. Я правильно понимаю. А на стороне SF как это организовано? Я так понял что пользователь на SF идентифицируется автоматом - ему не надо ничего нажимать?

ActiveDrectory это имеется в виду третья сторона, которая возвращает идентифицированного пользователя - identity provider. Я правильно понимаю. А на стороне SF как это организовано? Я так понял что пользователь на SF идентифицируется автоматом - ему не надо ничего нажимать?

Dmitry Shnyrev
ActiveDrectory это имеется в виду третья сторона, которая возвращает идентифицированного пользователя - identity provider. Я правильно понимаю. А на стороне SF как это организовано? Я так понял что пользователь на SF идентифицируется автоматом - ему не надо ничего нажимать?

Так точно. Для пользователя происходит все абсолютно прозрачно.

[quote="Dmitry Shnyrev"]ActiveDrectory это имеется в виду третья сторона, которая возвращает идентифицированного пользователя - identity provider. Я правильно понимаю. А на стороне SF как это организовано? Я так понял что пользователь на SF идентифицируется автоматом - ему не надо ничего нажимать?[/quote]

Так точно. Для пользователя происходит все абсолютно прозрачно.

А в двух словах, как это работает?
Заходит товарищ на страницу Salesforce.
Получается вместо страницы login его отправляет на SSO провайдера.
Очень интересно.

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

А в двух словах, как это работает?
Заходит товарищ на страницу Salesforce.
Получается вместо страницы login его отправляет на SSO провайдера.
Очень интересно.

Есть у меня [b]догадка[/b], но надо проверять.
Помню когда изучал SSO, то в настройках включал его вместе со стандартным логином.
Поэтому наверное я видел страницу логина с дополнительной кнопкой.
Но вроде стандартный логин можно было отключить, и остался бы один SSO, и в этом случае он наверное будет отрабатывать автоматом.

При использовании SAML вся магия происходит на стороне IDP.
В случае использования, например, ADFS, пользователи переходят на ADFS-ную ссылку, вида locallink.com/adfs/ls/idpinitiatedsignon.aspx?loginToRp=https://saml.salesforce.com

AD уже генерит сессию и редирректит по прописанному в настройках AD адресу, вместе со сгенерированной сессией, которую принимает форс.

При использовании SAML вся магия происходит на стороне IDP. 
В случае использования, например, ADFS, пользователи переходят на ADFS-ную ссылку, вида locallink.com/adfs/ls/idpinitiatedsignon.aspx?loginToRp=https://saml.salesforce.com

AD уже генерит сессию и редирректит по прописанному в настройках AD адресу, вместе со сгенерированной сессией, которую принимает форс. 


cidr8n
При использовании SAML вся магия происходит на стороне IDP.

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

не подскажите какие хорошие статьи об этом на русском?

[quote="cidr8n"]При использовании SAML вся магия происходит на стороне IDP. [/quote]

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

не подскажите какие хорошие статьи об этом на русском?

Den Brown
не подскажите какие хорошие статьи об этом на русском?

Увы, только на английском. Все стоящие ссылки в контексте SFDC перечислены выше.
Опять таки, все упирается в третью сторону - Identity Provider-а. + в контексте форса хорошо бы ознакомиться как с SAML, так и с oAuth и Delegated Authentication, дабы лучше понять основные кейсы использования.

Если хочется углубиться в "магию третьей стороны" по теме SAML, то можно посмотреть статью на хабре:
http://habrahabr.ru/post/151006/

[quote="Den Brown"]
не подскажите какие хорошие статьи об этом на русском?[/quote]

Увы, только на английском. Все стоящие ссылки в контексте SFDC перечислены выше. 
Опять таки, все упирается в третью сторону - Identity Provider-а. + в контексте форса хорошо бы ознакомиться как с SAML, так и с oAuth и Delegated Authentication, дабы лучше понять основные кейсы использования. 

Если хочется углубиться в "магию третьей стороны" по теме SAML, то можно посмотреть статью на хабре:
http://habrahabr.ru/post/151006/

Ну хорошо, что теперь на форуме есть участник, кто в этом хорошо разбирается. Будет у кого спросить, когда дело дойдет до реальной настройки и проблем по теме.

Ну хорошо, что теперь на форуме есть участник, кто в этом хорошо разбирается. Будет у кого спросить, когда дело дойдет до реальной настройки и проблем по теме.

Есть у меня "американском" сайте про Salesforce с двумя статьями про SSO. Как-то давным давно решил запечатлить для истории мои эксперименты с SSO для Salesforce на базе PHP. (красоту моего английского в статьях прошу не комментировать времени и сил не было дать кому-нибудь это дело не проверку). Год статьи пылились и нафиг никому не нужны были, а сейчас резко объявились товарищи которым позарез надо настроить этот самый SSO. Проблема в том что мой эксперимент закончился можно сказать на полпути, поэтому, естественно, что они могу сделать все по моей инструкции, но дальше - фиг. Помочь я тоже особо не могу в связи с нехваткой всего чего может нехватать.
К чему я - есть заинтересованные люди, которым нужно SSO, возможно потенциальные клиенты Кому интересно, можете запостить туда коммент с контактными данными и предложением помощи, я заапрувлю.

http://salesforce-developer.net/salesforce-sso-with-simplesamlphp

Есть у меня "американском" сайте про Salesforce с двумя статьями про SSO. Как-то давным давно решил запечатлить для истории мои эксперименты с SSO для Salesforce на базе PHP. (красоту моего английского в статьях прошу не комментировать :) времени и сил не было дать кому-нибудь это дело не проверку). Год статьи пылились и нафиг никому не нужны были, а сейчас резко объявились товарищи которым позарез надо настроить этот самый SSO. Проблема в том что мой эксперимент закончился можно сказать на полпути, поэтому, естественно, что они могу сделать все по моей инструкции, но дальше - фиг. Помочь я тоже особо не могу в связи с нехваткой всего чего может нехватать.
К чему я - есть заинтересованные люди, которым нужно SSO, возможно потенциальные клиенты :) Кому интересно, можете запостить туда коммент с контактными данными и предложением помощи, я заапрувлю.

http://salesforce-developer.net/salesforce-sso-with-simplesamlphp