Введите Ваш E-mail адрес и Вы будете первым, кто получит новые статьи.

Статьи

Облако Идентий Брокер Сервис

  1. Обзор - сервис miniOrange Identity Broker
  2. Как включить единый вход между приложениями?
  3. Интеграция SAML / ADFS
  4. Интеграция с OAuth
  5. Интеграция OpenID
  6. Загрузите наш miniOrange SampleApp
  7. ДЖАВА
  8. PHP
  9. питон
  10. Шаг 2. Установите доверие между miniOrange и приложением A, из которого инициируется единый вход.
  11. Шаг 3: Установите доверительные отношения между miniOrange и Приложением B, в котором вы должны выполнить...
  12. Как использовать сопоставление доменов для настройки двух источников идентификации?
  13. Шаг 1. Настройте IdP в источниках идентификации
  14. Шаг 2. Установите доверие между поставщиком услуг и службой Identity Broker
  15. Шаг 3. Установите доверие между поставщиком удостоверений и службой Identity Broker
  16. Тестовые конфигурации
  17. Что такое услуга Identity Broker?

Обзор - сервис miniOrange Identity Broker

С сервисом miniOrange Identity Broker вы можете одним щелчком мыши делегировать все свои требования к единому входу, управление пользователями, двухфакторную аутентификацию и даже доступ на основе риска, и сосредоточиться на своем экономическом обосновании. Мы можем интегрироваться с любым типом приложения, даже если оно не понимает ни одного стандартного протокола, такого как SAML, OpenId Connect или OAuth. Служба единого входа miniOrange может установить доверие между двумя приложениями через защищенную конечную точку https и автоматическое сопоставление пользователей для достижения единого входа.

Как включить единый вход между приложениями?

Мы можем включить единый вход между любыми приложениями, которые могут понимать или не понимать любые стандартные протоколы, такие как SAML, OAuth, OpenID Connect. Выполните следующие шаги, чтобы добиться этого -

Шаг 1: Определите ваш основной источник удостоверений и настройте его в miniOrange.

1. Интеграция SAML / ADFS - если ваш источник идентификации понимает saml, нажмите здесь, чтобы увидеть подробности.
Например, если у вас есть ADFS, Okta, Salesforce, SimpleSamlPhp, Shibboleth, PING, Centrify, OpenAM, IBM Tivoli Identity Manager, RSA FIM (Federated Identity Manager), Oracle Identity Manager, miniOrange и т. Д.

Интеграция SAML / ADFS

Наша брокерская служба SAML будет выступать в качестве поставщика услуг для любого ВПЛ по вашему выбору. И вам не нужно беспокоиться о понимании протокола SAML вообще. Он может работать с ADFS, Okta, salesforce, SimpleSamlPhp, Shibboleth, PING, RSA, Centrify, One Login, miniOrange или любым другим провайдером идентификации saml (Idp). Эта служба SAML возвращает все атрибуты, предоставленные IdP, вместе с именем пользователя, вошедшего в систему. Затем вы можете использовать эти атрибуты для входа пользователя в ваше приложение.


Если вы не видите конкретного руководства для вашего ВПЛ, пожалуйста, свяжитесь с нами по адресу [email protected].
Для регистрации miniOrange в качестве поставщика услуг в вашем Idp ниже приведены URL-адреса конечных точек:
URL ACS https://login.xecurify.com/moas/broker/login/saml/acs/ <YOUR_CUSTOMER_KEY> Идентификатор объекта SP https://login.xecurify.com/moas/

Примечание: Вы можете перейти к Интеграциям -> Интеграция с клиентским приложением, чтобы получить свой ключ клиента


2. Интеграция OAuth - если ваш источник идентификации понимает oauth, нажмите здесь, чтобы увидеть подробности.
Например - если у вас есть Facebook, Google, Linkedin, Twitter, Windows Live и т. Д.

Интеграция с OAuth


Настройка и использование брокерской службы miniOrange OAUTH

  • Для настройки и использования сервисов miniOrange OAUTH Broker вы можете создать бесплатную пробную учетную запись для бизнеса. Вот ,

  • Войдите в консоль miniOrange по адресу https://login.xecurify.com/moas/login

  • Теперь перейдите в раздел Интеграции -> Интеграция пользовательских приложений и получите ключ клиента, ключ API клиента, ключ токена клиента.



  • Перейдите в Приложения -> Настроить приложения -> Клиент OAuth2 для настройки приложения OAUTH2



  • Вы увидите OAuth Apps, перечисленные здесь. Нажмите на любое из приложений здесь, а затем нажмите Добавить приложение



  • Для Facebook:

    • Оставьте поле Scope пустым.
    • Создайте аккаунт разработчиков на Facebook.
    • Создайте приложение здесь.
    • В разделе «Расскажите нам о своем сайте» введите https://login.xecurify.com/moas/oauth/client/callback в поле URL сайта.
    • Соберите идентификатор приложения и секрет приложения, перейдя в « Мои приложения» -> (название вашего приложения).
    • Введите Идентификатор приложения и Секрет приложения в поля Идентификатор клиента и Секрет клиента соответственно в Приложениях -> Добавить учетные данные приложения .
    • Нажмите на кнопку Сохранить , чтобы добавить приложение Facebook.
    • Теперь, чтобы интегрировать Login With Facebook, добавьте кнопку и добавьте к ней следующий URL.
      https://login.xecurify.com/moas/oauth/client/authorize?token= ## token ## & id = ## customer_key ## & encrypted = <true, false> & app = facebook_oauth & returnurl = ## return_url ##
      • ## токен ## в приведенном выше URL может быть зашифрован или незашифрован. Маркер должен содержать идентификатор клиента (вы получили от EVE Online), метку времени (текущую метку времени в миллисекундах) и ключ API (ключ API клиента, который вы собрали выше), разделенный двоеточием.
      • ## customer_key ## - это ключ клиента, который вы собрали выше.
      • Значение зашифрованного значения может быть истинным или ложным в зависимости от того, зашифрован токен или нет.
      • ## returnurl ## будет URL, куда вы хотите перенаправить пользователя после входа в систему с Facebook.


  • Для Google:

    • Введите https://www.googleapis.com/auth/plus.login в поле Область действия.
    • Посетите веб-сайт Google для разработчиков console.developers.google.com
    • В Google создайте новый проект и включите API Google+. Это позволит вашему сайту получить доступ к API Google+
    • В Google предоставьте https://login.xecurify.com/moas/oauth/client/callback для нового URI перенаправления нового проекта.
    • В Google вы также должны настроить экран согласия с вашим адресом электронной почты и названием продукта. Это то, что Google будет отображать пользователям, когда их просят предоставить доступ к вашему сайту / приложению.
    • В Google в разделе API & auth -> Credentials получите Client Id, нажав на кнопку Create Client Id.
    • Соберите идентификатор клиента и секрет клиента
    • Введите Идентификатор приложения и Секрет приложения в поля Идентификатор клиента и Секрет клиента соответственно в Приложениях -> Добавить учетные данные приложения .
    • Нажмите на кнопку Сохранить , чтобы добавить приложение Google.
    • Теперь, чтобы интегрировать Login с Google, добавьте кнопку и добавьте следующий URL к ней.
      https://login.xecurify.com/moas/oauth/client/authorize?token= ## token ## & id = ## customer_key ## & encrypted = <true, false> & app = google_oauth & returnurl = ## return_url ##
      • ## токен ## в приведенном выше URL может быть зашифрован или незашифрован. Маркер должен содержать идентификатор клиента (вы получили от EVE Online), метку времени (текущую метку времени в миллисекундах) и ключ API (ключ API клиента, который вы собрали выше), разделенный двоеточием.
      • ## customer_key ## - это ключ клиента, который вы собрали выше.
      • Значение зашифрованного значения может быть истинным или ложным в зависимости от того, зашифрован токен или нет.
      • ## returnurl ## будет URL, куда вы хотите перенаправить пользователя после входа в систему с EVE Online.
  • Для LinkedIn:

    • Оставьте поле Scope пустым.
    • Если вы еще этого не сделали, создать приложение , Если у вас есть приложение, выберите его, чтобы изменить его настройки.
    • После создания приложения соберите Client ID и CLient Secret отсюда.
    • Введите https://login.xecurify.com/moas/oauth/client/callback в URL авторизованного перенаправления и нажмите кнопку Добавить.
    • Теперь нажмите кнопку Обновить , чтобы сохранить настройки.
    • Введите Идентификатор клиента и Секрет клиента в поля Идентификатор клиента и Секрет клиента соответственно в Приложениях -> Добавить учетные данные приложения .
    • Нажмите на кнопку Сохранить , чтобы добавить LinkedIn.
    • Теперь, чтобы интегрировать Login с LinkedIn, добавьте кнопку и добавьте следующий URL к ней.
      https://login.xecurify.com/moas/oauth/client/authorize?token= ## token ## & id = ## customer_key ## & encrypted = <true, false> & app = linkedin_oauth & returnurl = ## return_url ##
      • ## токен ## в приведенном выше URL может быть зашифрован или незашифрован. Маркер должен содержать идентификатор клиента (вы получили от EVE Online), метку времени и ключ API (ключ API клиента, который вы собрали выше), разделенный двоеточием.
      • ## customer_key ## - это ключ клиента, который вы собрали выше.
      • Значение зашифрованного значения может быть истинным или ложным в зависимости от того, зашифрован токен или нет.
      • ## returnurl ## будет URL, куда вы хотите перенаправить пользователя после входа в систему с EVE Online.
  • Для EVE Online:

    • Оставьте поле Scope пустым.
    • В EVE Online зайдите в службу поддержки. Запрос на включение OAuth для стороннего приложения.
    • Добавить новый проект / приложение. Создать идентификатор клиента и секрет клиента.
    • Введите Идентификатор клиента и Секрет клиента в поля Идентификатор клиента и Секрет клиента соответственно.
    • Нажмите на кнопку Сохранить , чтобы добавить EVE Online.
    • Теперь, чтобы интегрировать Login с Eveonline, добавьте кнопку и добавьте к ней следующий URL.
      https://login.xecurify.com/moas/oauth/client/authorize?token= ## token ## & id = ## customer_key ## & encrypted = <true, false> & app = eveonline_oauth & returnurl = ## return_url ##
      • ## токен ## в приведенном выше URL может быть зашифрован или незашифрован. Маркер должен содержать идентификатор клиента (вы получили от EVE Online), метку времени и ключ API (ключ API клиента, который вы собрали выше), разделенный двоеточием.
      • ## customer_key ## - это ключ клиента, который вы собрали выше.
      • Значение зашифрованного значения может быть истинным или ложным в зависимости от того, зашифрован токен или нет.
      • ## returnurl ## будет URL, куда вы хотите перенаправить пользователя после входа в систему с EVE Online.

Вернуться к началу



  • 3. Интеграция OpenID Connect - если ваш источник идентификации понимает openid connect, нажмите здесь, чтобы увидеть подробности.


  • Например - если у вас есть Salesforce, Amazon и т. Д. В качестве OpenID Connect Idp. и т.п.

Интеграция OpenID


Настройте и используйте miniOrange OpenID Connect Integration.

Прежде чем ваше приложение сможет использовать систему аутентификации miniOrange Open ID Connect для входа пользователя, вы должны настроить приложение в консоли администратора miniOrange для получения учетных данных Open ID Connect, установить URI перенаправления и (необязательно) и добавить имя приложения.

Получить учетные данные OpenID Connect

Для аутентификации пользователей и получения доступа к API-интерфейсам miniOrange необходимы учетные данные OpenID Connect, в том числе идентификатор клиента и секрет клиента.

Чтобы получить учетные данные, выполните следующие действия:

Шаг 1. Создайте приложение в консоли администратора miniOrange
  • Перейдите в консоль администратора miniOrange.

  • Создайте приложение, выбрав «Приложения»> «Настроить приложения».

  • В имени приложения введите «OpenId Connect».

  • Введите информацию о своем клиенте и сохраните.

  • После того как вы настроили приложение. Запишите идентификатор клиента и секрет клиента, выбрав «Приложения»> «Просмотреть приложения», затем выберите приложение Open Id и нажмите «Изменить».

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

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

Шаг 2. Создайте политику


  • Перейдите в консоль администратора miniOrange.

  • Перейдите в раздел Политика> Политика аутентификации приложения. Затем выберите вкладку «Добавить политику».

  • В названии приложения выберите приложение OpenID, которое вы создали.

  • Введите настройки конфигурации и Сохранить.


Загрузите наш miniOrange SampleApp

Вы можете загрузить наш образец приложения miniOrange, написанный на JAVA / PHP / PYTHON, чтобы продемонстрировать наш поток OpenId Connect или создать клиентское приложение OpenId Connect для себя.


ДЖАВА

кликните сюда скачать пример приложения OpenOd miniOrange для JAVA

кликните сюда ссылаться на пример руководства по Java-приложениям


PHP

кликните сюда скачать пример приложения miniOrange OpenId для PHP

кликните сюда чтобы обратиться к руководству примера приложения PHP


питон

кликните сюда скачать пример приложения OpenOd miniOrange для Python

кликните сюда сослаться на пример руководства по применению Python


2. Создайте службу REST или аналогичную в вашем приложении для обработки ответа от конечной точки авторизации (Примечание: это должен быть параметр URI перенаправления).

Пример (https: // <ваш-домен> / rest / openidresponse)

Атрибуты ответа: код, состояние.

Теперь вам просто нужно сделать два вызова: один для получения токена доступа и другой для получения информации о пользователе с помощью этого access_token.

// кликните сюда скачать библиотеку JAVA // Java - импортировать наш miniOrange API (скопировать все файлы JAR в папку lib и добавить их в путь сборки) import com.miniorange.openid.client.AuthorizationServerRequest; // Получить параметры из запроса String code = request.getParameter ("code"); String state = request.getParameter ("state"); String clientSecret = "введите-ваш-клиент-секрет-отмечен-от-miniOrange-admin-console"; String hostName = "enter-the-miniOrange-host-name-without-http-or-subdomain Пример: login.xecurify.com"; // Шаг 1: Инициализируйте объект с помощью hostName, code и clientSecret. AuthorizationServerRequest clientObj = новый AuthorizationServerRequest (hostName, code, clientSecret); // Шаг 2: Сделать запрос токена, используя код и параметр состояния, полученные на URI перенаправления. String token = clientObj.sendTokenRequest (); / ** Строковый токен - это JSON. Пример строки маркера JSON: { "Объем": "OpenID", "expires_in": 3600, "token_type": "носителем", "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.eyJhdXRoX3RpbWUiOiJUaHUgQXBy IDE2IDEzOjA2OjE4IElTVCAyMDE1IiwiZXhwIjoxNDMwMTY5Nzc4LCJzdWIiOiJkZW1vQG1pbmlvcmFuZ2UuY28uaW4iLCJub25jZSI6IkJ1U1 MxSjktZllmaDgwYmVDOVdwM2Vwc1BCdHRpLVdmS09xdGlmWnMxa0UiLCJhdF9oYXNoIjoiMmY2ZnlqWGRRUmdWVTl3IiwiYXVkIjpbIkFuemp4 NFNmM2FWZTZnZyJdLCJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3QiLCJpYXQiOjE0MjkxNjk3Nzh9.P6VXffhTX9B62tjupP8tWdv9eYpXCBnDt ramHDDF2pYujcgNPntX1OrEieD1Uvswdk2qagOfm0HbfG3OtGa6xZ8Ixpqg7RDUusPRHFptcgSw9YlZtyv1CyIIh_eQ4yrfo2oHfwW-5aDIUO5 tNmjoWrEK4NzR1fWYXRmL5eyu51o", "access_token" : "2f6fyjXdQRgVU9w"} ** / // Шаг 3: ДОПОЛНИТЕЛЬНО. Подтвердите id_token на вашей стороне. <Ваш Java-код для проверки id_token из набора JWK> // Шаг 4: Сделайте запрос user_info. Получить access_token из строкового токена JSON, полученного на шаге 1. String user_info = clientObj.sendUserInfoRequest (access_token); / ** Пример информации о пользователе JSON: {"sub": "[email protected]", "primaryPhone": "+ 917XXXXXXX", "email": "[email protected]", "name": "Demo User", "family_name": "User", "предпочитаемое_имя_пользователя": "[email protected]", "данное_имя": "Demo"} ** / Return user_info; // Продолжаем процесс входа в систему с областями user_info.
// кликните сюда скачать библиотеку PHP // PHP - Шаг 1. Импортировать библиотеку PHP require ('AuthorizeOpenIDRequest.php'); $ code = $ _GET ['code']; // Код ответа параметра $ state = $ _GET ['state']; // Соответствие полученному состоянию $ host = 'login.xecurify.com'; // Имя хоста сервера без http или имени субдомена или порта. $ clientSecret = 'abcdefghijklm'; // Секрет клиента отмечен на странице «Настройка приложения» в консоли администратора miniOrange. // Шаг 2. Инициализация объекта $ obj = new AuthorizeOpenIDRequest (); $ obj-> authCode = $ code; $ obj-> state = $ state; $ obj-> hostName = $ host; $ obj-> clientSecret = $ clientSecret; // Шаг 3. Сделать запрос к токену Endpoint для получения токена доступа. $ token = $ obj-> sendTokenRequest (); / ** { "Объем": "OpenID", "expires_in": 3600, "token_type": "носителем", "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.eyJhdXRoX3RpbWUiOiJUaHUgQXBy IDE2IDEzOjA2OjE4IElTVCAyMDE1IiwiZXhwIjoxNDMwMTY5Nzc4LCJzdWIiOiJkZW1vQG1pbmlvcmFuZ2UuY28uaW4iLCJub25jZSI6IkJ1U1 MxSjktZllmaDgwYmVDOVdwM2Vwc1BCdHRpLVdmS09xdGlmWnMxa0UiLCJhdF9oYXNoIjoiMmY2ZnlqWGRRUmdWVTl3IiwiYXVkIjpbIkFuemp4 NFNmM2FWZTZnZyJdLCJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3QiLCJpYXQiOjE0MjkxNjk3Nzh9.P6VXffhTX9B62tjupP8tWdv9eYpXCBnDt ramHDDF2pYujcgNPntX1OrEieD1Uvswdk2qagOfm0HbfG3OtGa6xZ8Ixpqg7RDUusPRHFptcgSw9YlZtyv1CyIIh_eQ4yrfo2oHfwW-5aDIUO5 tNmjoWrEK4NzR1fWYXRmL5eyu51o", "access_token":» 2f6fyjXdQRgVU9w "} ** / // Получить токен доступа из токена JSON. $ jObj = json_decode ($ token); $ access_token = $ jObj-> access_token; // Шаг 4. Проверка id_token из $ jObj-> id_token; Использование JWK Set URI. // Шаг 5. Сделать запрос к конечной точке userinfo с помощью, если access_token получен. $ user_info = $ obj-> sendUserInfoRequest ($ access_token); / ** Пример информации о пользователе JSON: {"sub": "[email protected]", "primaryPhone": "+ 917XXXXXXX", "email": "[email protected]", "name": «Demo User», «family_name»: «User», «предпочитаемое_имя_пользователя»: «[email protected]», «данное_имя»: «Demo»} ** / // Чтение user_info JSON, содержит информацию о пользователе. $ uinfo = json_decode ($ user_info);
// кликните сюда загрузить библиотеку PYTHON "PHP - Шаг 1. Импорт библиотеки PYTHON" из AuthorizeOpenIdRequest import AuthorizeOpenIDRequest import json "Шаг 1. Инициализировать объект с помощью hostName, AuthCode, clientSecret" "hostName: введите имя хоста miniOrange без добавления HTTP / HTTPS или SUBDOMAIN "" Введите секретный ключ клиента, указанный при создании приложения в консоли администратора miniOrange "" authCode возвращается после проверки подлинности в miniOrange "hostName =" login.xecurify.com "clientSecret =" iercoierncoiec "authCode = request.GET.get ('code') «Initialize» authReq = AuthorizeOpenIDRequest (hostName, authCode, clientSecret) «Шаг 2. Выполнение запроса к конечной точке токена» token = authReq.sendTokenRequest () print ('token is' + token) / ** {"scope": "openid" "expires_in": 3600, "token_type": "знаменосец", "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.eyJhdXRoX3RpbWUiOiJUaHUgQXBy IDE2IDEzOjA2OjE4IElTVCAyMDE1IiwiZXhwIjoxNDMwMTY5Nzc4LCJzdWIiOiJkZW1vQG1pbmlvcmFuZ2UuY28uaW4iLCJub25jZSI6IkJ1U1 MxSjktZllmaDgwYmVDOVdwM 2Vwc1BCdHRpLVdmS09xdGlmWnMxa0UiLCJhdF9oYXNoIjoiMmY2ZnlqWGRRUmdWVTl3IiwiYXVkIjpbIkFuemp4 NFNmM2FWZTZnZyJdLCJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3QiLCJpYXQiOjE0MjkxNjk3Nzh9.P6VXffhTX9B62tjupP8tWdv9eYpXCBnDt ramHDDF2pYujcgNPntX1OrEieD1Uvswdk2qagOfm0HbfG3OtGa6xZ8Ixpqg7RDUusPRHFptcgSw9YlZtyv1CyIIh_eQ4yrfo2oHfwW-5aDIUO5 tNmjoWrEK4NzR1fWYXRmL5eyu51o " "access_token": "2f6fyjXdQRgVU9w"} ** /" ДОПОЛНИТЕЛЬНО. Выполнение проверки токена "" Шаг 3. Извлечение access_token из токена JSON "jsonData = json.loads (token) accessToken = jsonData ['access_token']" Шаг 4. Выполните запрос к конечной точке userinfo "userInfo = authReq.sendUserInfoRequest (accessToken) / * * Пример информации о пользователе JSON: {"sub": "[email protected]", "primaryPhone": "+ 117XXXXXXX", "email": "[email protected]", "name": "Demo Пользователь "," семейное_имя ":" Пользователь "," предпочитаемое_имя_пользователя ":" [email protected] "," данное_имя ":" Демо "} ** / print ('Userinfo is:' + userInfo)

4. Интеграция с LDAP - если вы используете ldap, нажмите здесь, чтобы увидеть подробности.
Например - Microsoft Active Directory, OpenLDAP или любые другие системы каталогов.

Если вы не уверены, что ваш источник идентичности поддерживается здесь или нет, свяжитесь с нами по адресу [email protected].


Шаг 2. Установите доверие между miniOrange и приложением A, из которого инициируется единый вход.


protected void SSORedirect_Click (отправитель объекта, EventArgs e) {DateTime Jan1st1970 = new DateTime (1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); длинные миллисекунды = (long) (DateTime.UtcNow - Jan1st1970) .TotalMilliseconds; String username = Session ["currentUser"]; String appSecret = "Введите секрет приложения, записанный в консоли администратора miniOrange"; Строковый токен = миллисекунды + ":" + имя пользователя + ":" + appSecret; String encryptedToken = encrypt (токен); String customerId = "<YOUR_CUSTOMER_KEY>"; encryptedToken = HttpUtility.UrlEncode (encryptedToken); Response.Redirect ("https://login.xecurify.com/moas/broker/login/http/" + customerId + &quot;? Token =" + encryptedToken); } private string encrypt (строковое значение) {AesManaged tdes = new AesManaged (); String encryptionKey = "<YOUR_TOKEN_KEY>"; tdes.Key = Encoding.UTF8.GetBytes (encryptionKey); tdes.Mode = CipherMode.ECB; tdes.Padding = PaddingMode.PKCS7; ICryptoTransform crypt = tdes.CreateEncryptor (); byte [] plain = Encoding.UTF8.GetBytes (значение); byte [] cipher = crypt.TransformFinalBlock (plain, 0, plain.Length); return Convert.ToBase64String (шифр); }

public void ssoRedirect (запрос HttpServletRequest, ответ HttpServletResponse) {Long timestamp = System.currentTimeMillis (); Строка username = request (). GetSession (). GetAttribute ("currentUser"); String appSecret = "Введите секрет приложения, записанный в консоли администратора miniOrange"; String token = timestamp + ":" + username + ":" + appSecret; String encryptedToken = encrypt (токен); String customerId = "<YOUR_CUSTOMER_KEY>"; encryptedToken = URLEncoder.encode (encryptedToken, "UTF-8"); response.sendRedirect ("https://login.xecurify.com/moas/broker/login/http/" + customerId + &quot;? token =" + encryptedToken); } private String encrypt (String value) генерирует исключение {String encryptionKey = "<YOUR_TOKEN_KEY>"; AesCipherService service = new AesCipherService (); service.setMode (OperationMode.ECB); service.setPaddingScheme (PaddingScheme.PKCS5); ByteSource byteSource = service.encrypt (data.getBytes (), key.getBytes ()); return byteSource.toBase64 (); }

public function ssoRedirect ($ value) {$ timestamp = round (microtime (true) * 1000); $ username = $ _SESSION ['currentUser']; $ app_secret = "Введите секрет приложения, записанный в консоли администратора miniOrange"; $ token = number_format ($ timestamp, 0, '', ''). ':'. $ username. ':'. $ App_secret; $ encryptedToken = encrypt ($ token); $ encryptedToken = urlencode ($ token_params_encode); $ customerId = "<YOUR_CUSTOMER_KEY>"; $ redirectURL = "https://login.xecurify.com/moas/broker/login/http/". customerId. &quot;? token =". encryptedToken; header ('Location:'. $ redirectURL); } приватная функция encrypt ($ token) {$ encryption_key = "<YOUR_TOKEN_KEY>"; $ blocksize = 16; $ pad = $ blocksize - (strlen ($ token)% $ blocksize); $ token = $ token. str_repeat (chr ($ pad), $ pad); $ token_params_encrypt = mcrypt_encrypt (MCRYPT_RIJNDAEL_128, $ encryption_key, $ token, MCRYPT_MODE_ECB); вернуть base64_encode ($ token_params_encrypt); }


Шаг 3: Установите доверительные отношения между miniOrange и Приложением B, в котором вы должны выполнить единый вход.

  • Добавьте следующий фрагмент кода в приложение B, в которое вы хотите включить единый вход (SSO).

// получить HTTP-запрос поста от miniOrange protected void Page_Load (отправитель объекта, EventArgs e) {String status = Request ["STATUS"]; if (status! = null && status.Contains ("SUCCESS")) {String username = Request ["NameID"]; if (username! = null && username! = "") {username = decryptUser (username); Session ["currentUser"] = имя пользователя; }}} private String decryptUser (String encryptedUser) {String encryptionKey = "<YOUR_TOKEN_KEY>"; byte [] encryptedUserBytes = Convert.FromBase64String (encryptedUser); AesManaged tdes = new AesManaged (); tdes.Key = Encoding.UTF8.GetBytes (encryptionKey); tdes.Mode = CipherMode.ECB; tdes.Padding = PaddingMode.PKCS7; ICryptoTransform crypt = tdes.CreateDecryptor (); byte [] cipher = crypt.TransformFinalBlock (encryptedUserBytes, 0, encryptedUserBytes.Length); return Encoding.UTF8.GetString (шифр); }

// получить HTTP-запрос post от miniOrange public void doPost (запрос HttpServletRequest, ответ HttpServletResponse) выдает IOException, ServletException {String status = request.getParameter ("STATUS"); if (status! = null && StringUtils.equals (status, "SUCCESS")) {String username = request.getParameter ("NameID"); if (username! = null && username! = "") {try {username = decryptUser (username); response.getSession (). setAttribute ("currentUser", имя пользователя); response.sendRedirect (); } catch (Exception e) {e.printStackTrace (); вернуть; }}}} private String decryptUser (String encryptedUser) {String encryptionKey = "<YOUR_TOKEN_KEY>"; byte [] base64decoded = Base64.decodeBase64 (encryptedUser.getBytes ()); AesCipherService decryptService = new AesCipherService (); decryptService.setMode (OperationMode.ECB); decryptService.setPaddingScheme (PaddingScheme.PKCS5); ByteSource decrypt = decryptService.decrypt (base64decoded, key.getBytes ()); вернуть новую строку (decrypt.getBytes ()); }

// получить http-запрос от публичной функции miniOrange getSSOUser () {$ status = $ _POST ['STATUS']; if (status! = null && strcmp (status, "SUCCESS")) {$ username = $ _POST ['NameID']; if ($ username! = null && $ username! = "") {try {$ username = decryptUser ($ username); $ _SESSION ["currentUser"] = $ username; } catch (Exception $ e) {exit; }}}} приватная функция decryptUser ($ encryptedUser) {$ encryption_key = "<YOUR_TOKEN_KEY>"; $ strIn = base64_decode ($ encryptedUser); $ plainText = mcrypt_decrypt (MCRYPT_RIJNDAEL_128, $ key, $ strIn, MCRYPT_MODE_ECB); $ pad = ord ($ plainText {strlen ($ plainText) - 1}); if ($ pad> strlen ($ plainText)) возвращает false; if (strspn ($ plainText, $ plainText {strlen ($ plainText) - 1}, strlen ($ plainText) - $ pad)! = $ pad) {return false; } return substr ($ plainText, 0, -1 * $ pad); }

Как использовать сопоставление доменов для настройки двух источников идентификации?

Используя сопоставление доменов, вы можете настроить свой плагин на использование разных IdP для единого входа в зависимости от домена пользователя.
Например: вы можете использовать IdP1 для [email protected] и IdP2 для [email protected] в качестве провайдера идентификации.


Шаг 1. Настройте IdP в источниках идентификации

  1. Определите и настройте свой IdP в Identity Source, используя инструкции Вот

  2. Вы можете определить список доменов, разделенных точкой с запятой, которые вы хотите использовать в IdP в поле « Имя домена».

  3. Примечание. Если вы используете Источники идентификации разных типов, обязательно установите Источник идентификации не LDAM / OAuth / OpenID в качестве источника идентификации по умолчанию.

Шаг 2. Установите доверие между поставщиком услуг и службой Identity Broker

  1. Загрузите и установите плагин miniOrange SAML с рынка вашего поставщика услуг. Убедитесь, что вы активировали плагин.

  2. Зарегистрироваться / Войти с помощью miniOrange.

  3. Перейдите на вкладку Identity Provider и запишите настройки для IdP. Они понадобятся вам для следующего шага

  4. Настройте приложение в своей учетной записи Miniorange, выполнив следующие действия:

    1. Перейдите в Приложения-> Управление приложениями


    2. Нажмите кнопку « Настроить приложения» в правом верхнем углу экрана.
    3. Перейдите на вкладку SAML . Выберите приложение вашего SP и нажмите « Добавить приложение».
    4. Введите идентификатор объекта SP и URL-адрес ACS вашего поставщика услуг.
    5. Выберите значение атрибута для идентификатора имени. Обычно это адрес электронной почты.
    6. Выберите Имя группы, введите имя политики и выберите первый тип фактора.
    7. Нажмите на Сохранить приложение.
    8. Нажмите на Скачать сертификат.
  5. Перейдите на вкладку « Поставщик услуг » в плагине и предоставьте следующую конфигурацию:

    Имя провайдера идентификации, например : идентификатор объекта Miniorange IdP или эмитент Сертификат Содержимое файла сертификата, загруженного на предыдущем шаге

Шаг 3. Установите доверие между поставщиком удостоверений и службой Identity Broker

Ниже приведены URL-адреса конечных точек для настройки в вашем IdP.
URL ACS https://login.xecurify.com/moas/broker/login/saml/acs/ <YOUR_CUSTOMER_KEY> Идентификатор объекта SP https://login.xecurify.com/moas/

Примечание. Чтобы получить свой ключ клиента, перейдите в раздел Интеграции -> Интеграция с обычным приложением в боковом меню своей учетной записи Miniorange.


Тестовые конфигурации

  1. Перейдите на вкладку « Поставщик услуг » в вашем плагине.
  2. Нажмите на кнопку Test Configuration
  3. Брокер Сервис попросит вас ввести адрес электронной почты
  4. В зависимости от вашего домена (в моем случае miniorange.com) вы будете перенаправлены на определенный IdP (в моем случае Microsoft AD)
  5. Введите имя пользователя и пароль вашего IdP
  6. И вы сделали

Что такое личный брокер?

Брокерская идентификация - это способ установить доверие между сторонами, которые хотят использовать онлайновые идентификационные данные друг друга. За эти годы мы разработали множество стандартов для этого, таких как SAML, OPENID, OAUTH, OPENID Connect, но проблема в том, что очень немногие люди понимают, как работают эти протоколы и где они должны использоваться. Реализация таких протоколов усложняется, а также требует больших затрат времени и средств.


Что такое услуга Identity Broker?

Служба Identity Broker скрывает всю сложность этих протоколов и предоставляет сторонним пользователям простую конечную точку HTTPS. Без внедрения SAML, OPENID, OAUTH или OPENID Connect вы можете внезапно начать говорить на этих языках и получить доступ к идентификаторам и токенам от сотен провайдеров. Единственное, что вам нужно знать, это как вызвать конечную точку HTTPS, что намного проще, чем понимание различных стандартов.


  • Вам не нужно понимать сложные протоколы Single Sign on, такие как SAML, OpenID и OAUTH.
  • Вы можете SAML включить ваши приложения, используя простые вызовы HTTPS.
  • Вы можете обеспечить социальный вход на свой сайт без хлопот понимания того, как все это работает
  • Если вы получаете токены доступа с выбранного вами сайта, вы можете добавить собственный код и расширить это приложение.

Помимо всех вышеперечисленных преимуществ, услуги miniOrange удостоверения личности предоставляют

  • Возможность настройки любого IdP по вашему выбору, включая OKTA, PING, RSA, Centrify, Google, Facebook, LinkedIn и даже Custom.
  • После того, как у вас будет установлена ​​личность с выбранным вами провайдером идентификации, miniOrange позволит вам использовать наш двухфакторный продукт для аутентификации на верху приложения по вашему выбору.
  • miniOrange также позволяет вам предоставлять доступ к вашим приложениям с учетом рисков, чтобы вы могли иметь еще один уровень безопасности на основе надежных устройств, надежных расположений, надежного времени доступа и даже поведения пользователя.

Вернуться к началу

Похожие

Как вы знаете, когда пришло время для ребрендинга?
Юлия Рейх На прошлой неделе я представил вебинар под названием «Помогите! Мой логотип отстой! »Для Некоммерческого МаркетингаGuide.com. В нем я подчеркнул, что очень важно иметь хороший организационный логотип: «Люди увлечены
McAfee запускает сервис LiveSafe
Фрэнк Зиманн McAfee не просто хочет предложить разорванную антивирусную программу. Скорее LiveSafe предназначен для защиты всей цифровой жизни и включает в себя все используемые онлайн-устройства, включая устройства всей семьи. увеличить
Как установить Firefox
... им из наиболее широко используемых и популярных веб-браузеров на рынке. Многие, действительно, многие пользователи по всему миру предпочитают использовать Firefox вместо других программ для веб-серфинга, поскольку они бесплатные, с открытым исходным кодом и доступны для всех основных операционных систем, как на настольных компьютерах, так и на Mobile. Принимая во внимание большую популярность этого браузера и желая следовать советам ваших самых надежных друзей, вы тоже решили установить
Как остановить все электронные письма Амазонки
Amazon рассылает тонну писем. Некоторые из них полезны - например, оповещения о том, что ваш заказ прошел, или о проблемах с заказом. Но остальное может действовать вам на нервы. Вот как изгнать каждого из них. Amazon действительно предпочитает отправлять вам более или менее все, что захочет, поэтому настройки всех этих электронных писем находятся
Kaspersky AdCleaner: блокировщик рекламы для iOS
Обновление: приложение, описанное в этом посте, больше не поддерживается. Пользователи Kaspersky Internet Security и Kaspersky Total Security знакомы с Анти-Баннером, удобным компонентом, который блокирует надоедливую рекламу на веб-сайтах и ​​в программных интерфейсах. Рекламные блоки действительно полезны в наши дни. Их использование позволяет быстрее открывать веб-сайты, делает веб-страницы
Тестовая страница для HTTP-сервера Apache в Fedora
Если вы являетесь представителем общественности: Тот факт, что вы видите эту страницу, указывает на то, что на сайте, который вы только что посетили, либо возникли проблемы, либо он находится на плановом обслуживании. Если вы хотите, чтобы администраторы этого веб-сайта знали, что вы видели эту страницу вместо ожидаемой, отправьте им электронное письмо. Как правило, почта, отправляемая на имя «веб-мастер» и направляемая на домен сайта, должна доходить до соответствующего
Создание карт ума. Программное обеспечение и примеры
Представьте, что вы находитесь в неизвестной вам стране. Они ищут город, но не знают, как туда добраться. Что они делают? Они ищут путь на карте и мгновенно чувствуют себя знакомыми с местностью. Даже наши мысли могут выглядеть как карта и следовать по пути. Эта интеллектуальная карта или интеллектуальная карта - эффективный способ охватить сложные концепции, разобраться с ними, найти решения и развить новые идеи. В этом посте мы объясним, как создавать интеллектуальные карты,
Несоответствия регулярных выражений с Unicode
... ин Дженсен 23 января 2018 г. Случайная прогулка по миру Юникода и регулярных выражений Фото Президио Монтерея Символьные классы в регулярных выражениях являются чрезвычайно полезной и широко распространенной функцией, но есть некоторые относительно недавние изменения, о которых вы можете не знать.
Excel для iPad: обзор Macworld
Для iPad доступно множество приложений для работы с электронными таблицами, но в последнее время рынок резко изменился, когда Microsoft выпустила полный пакет Office для iPad , включая версию Excel. Хотя вы можете утверждать, что Excel много лет опаздывает на вечеринку для iPad (и я бы не стал спорить), версия Excel для iPad является серьезным участником
Сравните SkyDrive, Google Drive и Dropbox
У вас есть файлы, фотографии и документы на домашнем компьютере, к которым вы хотели бы получить доступ из других мест на разных устройствах. Dropbox был де-факто выбором долгое время, но это может измениться, поскольку Microsoft и Google только что вышли на арену с выпуском Windows Live SkyDrive и Google Drive соответственно. Три службы очень похожи - вы получаете онлайн-хранилище (вы можете получить доступ к файлам в любом месте) и синхронизацию файлов - редактируйте документ на одном
Что Danger сделал неправильно, или как не анонимизировать снимки экрана
... шагов: Генерация словаря самых популярных имен в Польше Размещение последующих имен на личной идентификационной карте и применение фильтра размытия Сравнение полученного изображения с оригиналом Первый шаг был преодолен за несколько минут, списки имен с частотой встречаемости можно найти, например, на сайтах поклонников геральдики или на сайтах дородовых школ. Второй шаг потребовал использования личной идентификационной

Комментарии

Что вы думаете о Vista SP1?
Что вы думаете о Vista SP1? Теперь, когда вы увидели, как работает обновление Vista SP1, хотите ли вы выполнить обновление в вашей системе? Если вы уже установили Vista SP1 в своей системе, как дела? Ваша система более стабильна? Это быстрее? Пожалуйста, зайдите в область обсуждения и сообщите нам. Получите советы Vista в своем почтовом ящике! Бюллетень TechRepublic для Windows Vista Report, выпускаемый каждую пятницу, содержит советы,
Что вы должны знать о новом инструменте?
Что вы должны знать о новом инструменте? И какую альтернативу стоит попробовать еще раз? Google Web Designer. Обзор наиболее важных функций После загрузки и установки вы можете начать немедленно. Вы можете использовать как дизайн, так и HTML-представления. Представление «Дизайн» имеет все обычные функции графического приложения. К ним относятся инструменты 3D, градиенты, адаптивные макеты
Вы создали какие-нибудь крутые пользовательские карты, о которых вы хотите, чтобы люди знали?
Вы создали какие-нибудь крутые пользовательские карты, о которых вы хотите, чтобы люди знали? Поделись, пожалуйста! Узнайте больше о: Инструменты для совместной работы , Карты Гугл ,
Защитник Windows против Avast: что предлагает больше возможностей?
Защитник Windows против Avast: что предлагает больше возможностей? Хотя это правда, что Антивирус Защитника Windows (ранее назывался Защитник Windows) не является самым многофункциональным решением для обеспечения компьютерной безопасности, с которым вы когда-либо сталкивались, оно обладает всеми необходимыми функциями, которые должен обеспечивать антивирусный продукт. Встроенный в Windows 8 / 8.1 / 10 и доступный в Windows Vista / 7 как
Итак, что означает «хорошая ссылка» и как получить хорошие ссылки?
Итак, что означает «хорошая ссылка» и как получить хорошие ссылки? Мы хотим поднять эту тему в этом посте. Почему хорошие ссылки так важны? Получение хороших ссылок очень важно из-за
Должны ли вы купить один сейчас или ждать нового Google Nest Hub Max будет этим летом?
Итак, что означает «хорошая ссылка» и как получить хорошие ссылки? Мы хотим поднять эту тему в этом посте. Почему хорошие ссылки так важны? Получение хороших ссылок очень важно из-за
Один вопрос, который неоднократно задавался: «Как вы узнаете, когда пришло время проводить ребрендинг?
Один вопрос, который неоднократно задавался: «Как вы узнаете, когда пришло время проводить ребрендинг?», - это тема этого поста, посвященного вебинару на прошлой неделе. Как вы знаете, когда пришло время для ребрендинга? Возможно, у вашей группы новое лидерство, и они решили, что «со старым и с новым» ... или ваша миссия изменилась за эти годы, и ваша новая личность не отражает то, кем вы являетесь сейчас ... или вы У вас новая программа, и ей нужна
Что такое Huawei Ascend Y550?
Что такое Huawei Ascend Y550? На данный момент Huawei Ascend Y550 является одним из самых дешевых телефонов 4G в мире. За 70 фунтов стерлингов при оплате по факту вы получаете телефон 4G в комплекте с 64-разрядным набором микросхем последнего поколения, одновременно снижая конкуренцию со стороны более крупных компаний. Как и в случае с другими дешевыми телефонами 4G, вопрос заключается в том, оправданы ли жертвы в других странах более быстрым мобильным Интернетом. Ответ? Не
Как узнать, что это сработало?
Как узнать, что это сработало? Когда вы создаете новое сообщение, рядом с датой появляется ползунок с параметром «Автоматическое опубликование» (этот параметр станет значением по умолчанию для всех новых сообщений). Более того - в левом меню значок меняется - с буквы S на S + A вместе с бумажным самолетиком. 5. Анализ статистики и комментариев Планолы Как только вы загрузите несколько фотографий, получите первые сердца и комментарии, вы можете приступить к анализу статистики.
Есть ли что-нибудь еще, что мы можем сделать, чтобы решить, как играть в YouTube с экрана от iPhone?
Есть ли что-нибудь еще, что мы можем сделать, чтобы решить, как играть в YouTube с экрана от iPhone? Конечно, нет. Далее мы поделимся практическим приемом, который поможет вам играть на YouTube в фоновом режиме на iPhone. Как играть в YouTube с экрана от iPhone Для воспроизведения YouTube с экрана от iPhone мы в основном обращаемся за помощью к приложению iPhone Safari. Шаг 1. Откройте сайт YouTube в Safari, перейдя на www.youtube.com. Шаг 2.
Что такое показы страниц и переходы по ссылкам?
Что такое показы страниц и переходы по ссылкам? Рекламные кампании баннера измеряются по показам страниц и переходам по кликам. Показ страницы увеличивается каждый раз, когда пользователь просматривает веб-страницу, отображающую этот баннер в веб-браузере. Клик - это каждый раз, когда кто-то просматривает эту баннерную рекламу, и это побуждает их реагировать, нажимая, чтобы узнать больше.

Как использовать сопоставление доменов для настройки двух источников идентификации?
Как включить единый вход между приложениями?
Com/moas/oauth/client/authorize?
Com/moas/oauth/client/authorize?
Com/moas/oauth/client/authorize?
Com/moas/oauth/client/authorize?
Com/moas/broker/login/http/" + customerId + "?
Com/moas/broker/login/http/" + customerId + "?
Quot;?
Что такое услуга Identity Broker?

Новости