Передача параметров в Okta и получение из потока IDP - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь реализовать SSO с Okta в Python Flask, но я не вижу в их документах нигде, где я мог бы передать параметр и получить его обратно при успешном ответе на вход в систему. Я в настоящее время 2 конечных точки смоделированы после https://github.com/jpf/okta-pysaml2-example/blob/master/app.py.

Метод, инициированный SP, который получает параметр, который я передаю, и отправляет запрос SAML в Okta.

Метод, инициированный IDP, при котором при действительном входе в систему Okta отправляет ответ SAML, а я перенаправляю на URL-адрес, куда я хочу добавить переданный начальный параметр. Возможно ли это?

1 Ответ

0 голосов
/ 19 ноября 2018

То, куда пользователь отправляется после входа, определяется состоянием ретрансляции.Это непрозрачное значение, поэтому любой параметр, который вы хотите установить, может быть частью этого.Для простоты Relay State может быть закодированным URL.В качестве альтернативы это может быть то, что ваш SP знает, как перевести / расшифровать, чтобы перенаправить пользователя в следующее состояние (т. Е. Страницу).

Для запросов, инициированных SP, вы (SP) предоставляете состояние ретрансляции.

Для запросов, инициируемых IDP, вы должны иметь возможность установить состояние ретрансляции по умолчанию.В частности, для okta, установите Состояние реле по умолчанию в разделе Приложение - Настройки - Методы входа в систему для рассматриваемого приложения.

(Если вы хотите, чтобы okta отправляла вас в разные места, скажем, «главная» или «консоль администратора») в вашем приложении SP, вам нужно несколько приложений okta или вы отправляете пользователя в одно и то же место.& ваш SP выясняет, куда отправить их «дальше», возможно, на основе имени пользователя, вошедшего в систему, или с помощью подтверждения значения атрибута, включенного в ответ аутентификации.)

...