Вопрос 1 : я хочу, чтобы мое приложение выполняло роль Idp, а отдел продаж - SP.
Ответ :
(I) Вам следует внедрить SAMLIdP с вашим веб-приложением Java.
(II) Для быстрого развертывания SAML IdP в вашей производственной среде настоятельно рекомендуется использовать сторонний IdP SAML (например, Shibboleth IdP).Затем у вас будет достаточно времени для разработки собственного SAML IdP для вашего веб-приложения на Java.
Мы разработали нашу прежнюю версию Система аутентификации и авторизации с нулевым паролем в Java и использовала Shibboleth IdP для обеспечения единого входа SAML для корпоративных приложений.
Мы разработали нашу текущую версию Система аутентификации и авторизации с нулевым паролем с масштабируемостью и высокой доступностью в Scala предоставить SAML SSO изначально для корпоративных приложений без Shibboleth IdP.
(III) Как собрать и запустить Shibboleth SAML IdP и SP с использованием контейнера Docker в репозитории GitHub, предоставив инструкции по созданию собственногоIDP для SAML в Java с использованием Shibboleth SAML IdP и OpenLDAP.
(IV) Я проверил единый вход SAML (SSO), предоставляемый запущенным в Docker Shibboleth SAML IdP (Identity Provider) и OpenLDAP для следующих корпоративных приложений.Другими словами, я использовал IdP Shibboleth SAML и OpenLDAP под управлением Docker для успешного входа в следующие корпоративные приложения.
Microsoft Office 365
Google G Suite
Salesforce
Dropbox
Box
Amazon AWS
OpenStack
Citrix NetScaler
VMware vCloud Director
Oracle NetSuite
(V) Для вашего удобства я сделал 8-й коммит для загрузки метаданных Salesforce SP и соответствующей конфигурации SAML в Как создать и запустить Shibboleth SAML IdP и SP с помощью контейнера Docker .
Обратите внимание, что Я вошел в аккаунт организации Salesforce "example.com" (https://example.my.salesforce.com) с именем пользователя "winston.hong@example.com", успешно используя Shibboleth IdP, работающий с Docker Container .
Выполнив следующую процедуру настройки Shibboleth SAML IdP, вы можете войти в свою учетную запись вашей организации Salesforce «your-company.com» (https://your -company.my.salesforce.com ) с вашим именем пользователя (например, "winston.hong@your-company.com").
(Va) Загрузите исходный код сборки и запуска Shibboleth SAML IdPиз репозитория GitHub.
$git clone https://github.com/winstonhong/Shibboleth-SAML-IdP-and-SP
(Vb) Замените "shibboleth-idp-dockerized / ext-conf / metadata / sp-salesforce-com.metata" на ваши метаданные Salesforce SP, загруженные из вашего SaleУчетная запись организации sforce.
(Vc) Отредактируйте "shibboleth-idp-dockerized / ext-conf / conf / relying-party.xml", чтобы заменить SAML SP entityID "https://example.my.salesforce.com" на" https://your -company.my.salesforce.com"
(Vd) Отредактируйте" LDAP-Dockerized-CentOS / users.ldif ", чтобы заменить информацию пользователя" winston.hong@example.com "наВаша информация пользователя "winston.hong@your-company.com".
(Ve) Следуйте инструкциям README (https://github.com/winstonhong/Shibboleth-SAML-IdP-and-SP/blob/master/README.md) для сборки и запуска Shibboleth IdP, OpenLDAP и Shibboleth SP.
Подтвердите, что вы можете войти в приложение Shibboleth SP через Shibboleth IdP.
(Vf) Использовать [открытый шаблон сертификата "shibboleth-idp-dockerized / ext-conf / credentials / idp-signature.crt »и 2-й сертификат подписи« shibboleth-idp-dockerized / ext-conf / metadata / idp-metadata.xml »для создания открытого сертификата подписи утверждения IdP Shibboleth.Затем вам нужно загрузить сертификат подписи Shibboleth IdP в учетную запись организации Salesforce.
(Vg) Следуйте инструкции Настройка единого входа Salesforce для внутренних пользователей для завершения SAML SPКонфигурация с вашей учетной записью организации Salesforce.Обратите внимание, что «Выбор Утверждение содержит имя пользователя Salesforce пользователя для Тип идентификации SAML ».
(V.h) Теперь вы можете войти в свою учетную запись организации Salesforce как SP через Shibboleth IdP.
Легко настроить Shibboleth IdP для использования того же хранилища / хранилища данных (такого как OpenLDAP или MySQL) вашего веб-приложения на Java. Тогда ваше веб-приложение Java действует как SAML IdP без каких-либо задач разработки.
(VI) Другой вопрос StackOverflow «Настройка нового IdP Shibboleth для работы с существующим SAML SP» предоставляет ценную информацию и обсуждения конфигурации SAML Shibboleth.
Вопрос 2 : Однако мне нужна помощь, чтобы отправить утверждение в Salesforce.
Ответ :
Следуя инструкциям, приведенным в ответе на вопрос 1, ваше веб-приложение на Java может использовать IdP на основе Java Shibboleth на основе Java для отправки подтверждения в Salesforce.