2016-07-26 1 views
1

OpenID Connect Implicit Client specification указывает необязательное значение параметра prompt=login для неявных клиентов SHOULD запрашивает конечный пользователь для повторной проверки подлинности.Параметр приглашения OpenID Connect: SHOULD vs MUST

ли правильно интерпретировать SHOULD либо из следующих:

  1. prompt=login реализаций встречающих SHOULD требования должны побудить пользователь к повторной аутентификации, когда это необходимо, но, возможно, не в определенных ситуациях, например, попросите пользователя повторно проверить подлинность, где нет активного сеанса, но не запрашивать, когда пользователь имеет активный сеанс.
  2. prompt=login реализация, удовлетворяющая требованиям SHOULDMUST запрос повторной проверки подлинности.

Если правильный способ реализации SHOULD требования является вариантом # 2 выше, чтобы всегда проверять подлинность, как же справиться с ситуацией, когда пользователь только побудил для проверки подлинности, если сеанс истек? Было ли это опустить параметр prompt?

Реализации от Microsoft Azure, Okta и Salesforce используют MUST для повторной аутентификации.

Ссылки:

  • OpenID: Средство авторизации сервер должен запрашивать конечного пользователя для повторной аутентификации. Если он не может повторно аутентифицировать конечного пользователя, он ДОЛЖЕН вернуть ошибку, обычно login_required.
  • MS Azure: prompt=login заставит пользователя ввести свои учетные данные по этому запросу, отрицая однократный знак.
  • Okta: Может быть либо ни один, ни логин. Значение определяет, не должно ли Okta запрашивать аутентификацию (если необходимо) или принудительно выполнить запрос (даже если у пользователя был существующий сеанс). По умолчанию: поведение по умолчанию основано на наличии существующего сеанса Okta.
  • Salesforce: Сервер авторизации должен запрашивать у пользователя повторную аутентификацию, заставляя пользователя снова войти в систему.

ответ

0

Для управления сеансами, Вы можете использовать параметр MAX_AGE, как это определено в openid spec

Установите MAX_AGE до нужной длительности сеанса при входе в систему, чтобы заставить провайдера идентификации задать учетные данные, когда истечет срок сессии.

Смежные вопросы