Мне интересно, есть ли в потоке кода аутентификации OpenID Connect необходимость в проверке access_token и id_token, если они получены через мой веб-сервер, а не через браузер (т.е. используя задний канал, а не передний канал)?
Под потоком кода аутентификации я имею в виду поток, в котором браузер получает только код авторизации от сервера авторизации (то есть без access_token, без id_token) и отправляет код авторизации на мой веб-сервер. Таким образом, мой веб-сервер может напрямую взаимодействовать с сервером авторизации, представляя код аутентификации и обменивать его на access_token и id_token. Похоже, я могу просто декодировать access_token и id_token, чтобы получить нужную мне информацию (в основном просто идентификатор пользователя и т. Д.)
Насколько я понимаю, необходимость проверки access_token заключается в том, что, поскольку access_token не зашифрован и если он передается через небезопасный канал, есть вероятность, что мой веб-сервер сможет получить поддельный токен. Проверка токена в основном заключается в том, чтобы убедиться, что токен не был изменен.
Но что, если access_token не передается ни по одному незащищенному каналу? В потоке кода аутентификации веб-сервер напрямую получает access_token с сервера аутентификации, и этот токен никогда не будет отправлен в браузер. Мне все еще нужно проверять токен? Каковы потенциальные риски, если я пропущу валидацию в таких потоках?