Google OpenID Connect: ошибка 500 при указании & quot; max_age & quot; параметр запроса аутентификации

В соответствии с требованиями Google мы пытаемся завершить переход от предыдущего потока аутентификации OpenID от Google к новой реализации OpenID Connect. Все было относительно просто, пока мы не попытались использовать max_age параметр (как определено в спецификация openid-connect-core), который служит для замены параметра расширения OpenID pape: max_auth_age,

Поставка max_age параметр не нарушает запрос аутентификации сразу, а только после того, как пользователь успешно повторно аутентифицирует себя в Google; после чего Google возвращает ошибку 500:

  1. Это ошибка.

Там была ошибка. Пожалуйста, попробуйте позже. Это все, что мы знаем.

Сброс параметра предотвращает ошибку 500, но не устраняет проблему, поскольку нам требуется повторная проверка подлинности перед входом в определенные области наших сайтов.

URL запроса аутентификации выглядит правильно составленным и действительным. Опять же, работает нормально без параметра max_age. Пример запроса с max_age = 0.

0

Решение

Google не соблюдает max_age параметр и может рассматриваться как выходящий за пределы спецификации на этом. Тем не менее, у них есть веские основания для этого (см .: http://lists.openid.net/pipermail/openid-specs-ab/Week-of-Mon-20150323/005445.html) это сводится к тому, что они не хотят, чтобы RP получал полный контроль над повторной аутентификацией с помощью функции «один размер подходит всем» и некоторыми дополнительными соображениями безопасности.

Я надеюсь, что кто-то из Google также ответит здесь со своими планами на будущее, но пока вы ничего не можете с этим поделать.

1

Другие решения

На этой неделе Google принимает max_age параметр, и вернет auth_time требовать в идентификационном токене, когда max_age передается.

Тем не менее, независимо от стоимости max_time В этом случае пользователям не будет предлагаться повторная аутентификация на основе времени их сеанса, поскольку это не шаблон, поддерживаемый Google. Скорее, пользователей просят повторно пройти аутентификацию только тогда, когда это считается необходимым (например, пользователь получает доступ к своей учетной записи из нового местоположения).

Если вам необходимо повторно подтвердить подлинность пользователей на вашем собственном сайте, вам рекомендуется сделать это с помощью других средств.

1

По вопросам рекламы [email protected]