В соответствии с требованиями Google мы пытаемся завершить переход от предыдущего потока аутентификации OpenID от Google к новой реализации OpenID Connect. Все было относительно просто, пока мы не попытались использовать max_age
параметр (как определено в спецификация openid-connect-core), который служит для замены параметра расширения OpenID pape: max_auth_age
,
Поставка max_age
параметр не нарушает запрос аутентификации сразу, а только после того, как пользователь успешно повторно аутентифицирует себя в Google; после чего Google возвращает ошибку 500:
- Это ошибка.
Там была ошибка. Пожалуйста, попробуйте позже. Это все, что мы знаем.
Сброс параметра предотвращает ошибку 500, но не устраняет проблему, поскольку нам требуется повторная проверка подлинности перед входом в определенные области наших сайтов.
URL запроса аутентификации выглядит правильно составленным и действительным. Опять же, работает нормально без параметра max_age. Пример запроса с max_age = 0.
Google не соблюдает max_age
параметр и может рассматриваться как выходящий за пределы спецификации на этом. Тем не менее, у них есть веские основания для этого (см .: http://lists.openid.net/pipermail/openid-specs-ab/Week-of-Mon-20150323/005445.html) это сводится к тому, что они не хотят, чтобы RP получал полный контроль над повторной аутентификацией с помощью функции «один размер подходит всем» и некоторыми дополнительными соображениями безопасности.
Я надеюсь, что кто-то из Google также ответит здесь со своими планами на будущее, но пока вы ничего не можете с этим поделать.
На этой неделе Google принимает max_age
параметр, и вернет auth_time
требовать в идентификационном токене, когда max_age
передается.
Тем не менее, независимо от стоимости max_time
В этом случае пользователям не будет предлагаться повторная аутентификация на основе времени их сеанса, поскольку это не шаблон, поддерживаемый Google. Скорее, пользователей просят повторно пройти аутентификацию только тогда, когда это считается необходимым (например, пользователь получает доступ к своей учетной записи из нового местоположения).
Если вам необходимо повторно подтвердить подлинность пользователей на вашем собственном сайте, вам рекомендуется сделать это с помощью других средств.