7.5.1. Инициация сессий аутентификации без ведома или участия конечного пользователя

В потоке аутентификации по отдельному каналу сервер авторизации должен иметь информацию о согласии конечного пользователя с процессом аутентификации (подраздел 8.2 [11]).

Для этого клиент должен передать идентификатор пользователя серверу авторизации. Если этот идентификатор в запросе аутентификации в качестве <login_hint> является статичным (например, номер телефона), то злоумышленник, выступающий в роли клиента, зная статичный идентификатор пользователя <login_hint>, может указывать его в запросах серверу авторизации и посылать такие запросы на AD пользователей. В качестве меры защиты необходимо, чтобы <login_hint> был непредсказуемым. Параметр генерируется на устройстве AD, после чего попадает на сервер авторизации, с которым взаимодействует AD (например, фронт сервера авторизации), и затем этот параметр передается клиенту для включения в <login_hint>.

В качестве альтернативного варианта идентификации конечного пользователя может быть использован <id_token_hint>.

Если клиент будет сохранять <id_token>, полученный от сервера авторизации, для дальнейшего использования в качестве <id_token_hint> необходимо, чтобы механизм аутентификации клиента соответствовал используемому каналу.

Кроме того, для защиты от этой угрозы может быть использован параметр <user_code> (подпункт 6.3.1.2).