Связь между конечными точками подключения Openid

117
11

Я пытаюсь понять как OAuth 2.0, так и OpenID Connect, и у меня есть важный вопрос: как конечные точки OpenID Connect общаются друг с другом?

Пример. В случае потока кода авторизации, если авторизация EndPoint предоставляет клиенту access_token, этот отправит этот токен в конечную точку UserInfo, чтобы получить информацию о пользователе. Итак, вопрос здесь в том, как UserInfo Endpoint может проверить, что выданный клиентом access_token правильный клиент? существует ли оговорка между этими двумя конечными точками?

Спасибо за ответ.

спросил(а) 2021-01-25T15:46:04+03:00 4 месяца, 3 недели назад
1
Решение
63

Конечная точка UserInfo должна иметь возможность интерпретировать токены доступа, выпущенные из конечной точки авторизации или конечной точки токена.

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

С другой стороны, если конечная точка авторизации и конечная точка токена реализованы на сервере авторизации, а конечная точка UserInfo реализована на сервере ресурсов, сервер ресурсов должен запросить сервер авторизации для получения информации о токенах доступа. RFC 7662 (OAuth 2.0 Token Introspection) - это стандарт, определяющий, как получить информацию об маркете доступа с сервера авторизации.

RFC 7662 является стандартом для интроспекции токенов, но разработчики серверов авторизации/ресурсов не обязательно имеют сильную мотивацию для поддержки спецификации. Смотрите " 4. самоанализом маркер доступа ", если вы заинтересованы в том, почему.

BTW, в потоке авторизационного кода токен доступа выдается не из конечной точки авторизации, а из конечной точки токена. То, что выдается из конечной точки авторизации в потоке, является кодом авторизации (а не токеном доступа).

ответил(а) 2021-01-25T15:46:04+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема