Получение UnauthorizedError после MFA в перенаправлении Onelogin Openid - PullRequest
1 голос
/ 18 марта 2019

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

Использование https://developers.onelogin.com/openid-connect/api/authorization-code Я настроил первый вызов API с помощью OpenId Connect (OIDC) -> SSO -> Тип приложения, установленного на Web, и конечной точки токена, установленного на POST. С этим я могу пройти через поток после успешного входа в мою систему тестирования входа в систему. Но это не возвращает никакой информации, идентифицирующей пользователя, поэтому я не могу подтвердить пользователя в нашей системе БД.

Насколько я могу судить во всех примерах, я захожу в Onelogin и использую MFA. У меня есть Google Auth на моем телефоне. Все выглядит хорошо. Затем я могу подтвердить, что вошел в Onelogin под моим тестовым пользователем.

Тестовый пользователь не имеет привилегий, поскольку мой конечный пользователь будет использовать Onelogin только для подтверждения личности в моей окончательной системе.

Так что я думаю, это нормально, если кто-то не заботится о подтверждении пользователя в системе инициации. Но мне это нужно, поэтому, если я что-то пропустил, я не могу использовать этот способ (Интернет).

Кроме того, мне кажется, что я могу войти в систему и получить перенаправление на мою учетную запись тестовой системы один раз, используя это, но затем, если я попытаюсь снова вскоре после того, как получу UnauthorizedError. Что заставляет меня думать о выходе пользователя из Onelogin в первую очередь, но нет, выход пользователя из системы не имеет никакого эффекта.

Итак, я попытался установить для Типа приложения значение Native, надеясь, что мы будем перенаправлены обратно на мой URL-адрес перенаправления, который я установил в Приложении, но затем продолжаю получать UnauthorizedError после MFA, и я, кажется, не могу пройти этот бит даже после проверки ролей, политик и настроек приложения.

Я пытался использовать Token Endpoint для всех опций, но я все еще получаю UnauthorizedError после MFA, или я захожу в Onelogin, но меня не перенаправляют на мой тестовый URL-адрес входа, установленный в настройках приложения.

Сейчас в растерянности и нужна помощь.

отредактировано для добавления - пользователь был добавлен в приложение, которое я могу подтвердить через приложение и пользователя. Также я вижу, что в «Деятельности» для моего пользователя я вижу, что он «вошел в Openid Connect (OIDC)». Таким образом, похоже, что я вошел в систему, но я все еще получаю UnauthorizedError 401.

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Комментарий от @nial_atlasidentity правильный. Наиболее вероятным ответом здесь является то, что ваш пользователь не назначен вашему приложению OIDC.

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

Если вы хотите проверить поток и проверить содержимое возвращаемых токенов, я рекомендую использовать OIDC Inspector tool .

0 голосов
/ 18 марта 2019

Сначала выполняется аутентификация, затем авторизация.Поэтому, если вы проходите аутентификацию в Onelogin OK и получаете ошибку «Несанкционировано», то при прочих равных условиях приложение OIDC, настроенное вами в Onelogin, не будет назначено вам пользователем, ни напрямую, ни через роль Onelogin.

Итак, проверьте ваше приложение.Перейдите на вкладку «Доступ».Посмотрите, кому назначено приложение.Убедитесь, что ваш тестовый пользователь назначен на эту роль.Или перейдите на вкладку «Пользователи» и проверьте, назначен ли ваш пользователь.

...