0

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

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

  1. That’s an error.

There was an error. Please try again later. That’s all we know.

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

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

ответ

1

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

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

+0

Да, определенно надеясь получить ответ от кого-то в Google. По-видимому, нет никакого другого очевидного канала для поддержки разработчиков или отчетов об ошибках, отличных от SO. Я не уверен, что они не соблюдают параметр 'max_age', поскольку он определенно меняет поток аутентификации, требуя повторного ввода его учетных данных, как и ожидалось. Возврат 500 после повторной аутентификации более указывает на неправильную конфигурацию или ошибку. – Adam

+0

Люди из Google следят за тегами SOURCE 'google-oauth' и' google-openid'. Документы (например, https://developers.google.com/identity/protocols/OpenIDConnect) специально предлагают размещение здесь, поэтому вы попали в нужное место. –

1

Начиная с этой недели Google принимает параметр max_age и возвращает auth_time претензию в ID-токене при передаче max_age.

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

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

+0

Похоже, что приведенное выше утверждение верно только в том случае, если max_age не равен нулю. Похоже, сейчас есть ошибка с max_age = 0. –

+0

Это правильно. Надеюсь услышать от кого-то @ Google в ближайшее время. – Adam

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

  • Нет связанных вопросов^_^