Мне интересно, действительно ли мне требуется OpenID Connect для обеспечения аутентификации поверх OAuth2. Мне кажется, что я создаю JWT (JWE) в качестве моего токена доступа, и я храню заявки пользователя, роли/разрешения и т. Д. В токене доступа, тогда токен идентификатора OpenID Connect не нужен. Серверы ресурсов могут проверять токен доступа для каждого запроса. В качестве альтернативы я мог бы сохранить токен доступа небольшим и просто сохранить его идентификатор сеанса и заполнить этот сеанс с помощью утверждений/ролей/разрешений. Также я мог бы указать значение срока действия в сеансе и поддерживать скользящее окончание и т. Д. И даже не иметь дело с обновлением токенов. Я не понимаю, что такое OpenID Connect?Аутентификация с помощью OAuth и JWT, но без OpenID Connect
Update
Я просто понял, что мне нужно уточнить мой вопрос немного. Если я создаю сайт, на котором я разрешаю пользователям регистрироваться через Google, я вижу, как нужен OpenID Connect. Я разрешаю кому-то доступ к моему сайту на основе некоторого потока авторизации OAuth, который не подтверждает аутентификацию. Но если я создаю кучу сервисов, и я просто хочу выпустить токены для доступа к этим ресурсам, недостаточно ли OAuth? И если бы я хотел, чтобы эти токены содержали роли/заявки, чтобы я мог принимать решения об авторизации в своих службах, недостаточно ли JWT, содержащих роли/заявки? Если вам кажется, что OpenID Connect не понадобится в этом случае.
Спасибо за ваш ответ! Я просто понял, что мне нужно немного уточнить мой вопрос. Если я создаю сайт, на котором я разрешаю пользователям регистрироваться через Google, я вижу, как нужен OpenID Connect. Я разрешаю кому-то доступ к моему сайту на основе некоторого потока авторизации OAuth, который не подтверждает аутентификацию. Но если я создаю кучу сервисов, и я просто хочу выпустить токены для доступа к этим ресурсам, недостаточно ли OAuth? И если бы я хотел, чтобы эти токены содержали роли/заявки, чтобы я мог принимать решения об авторизации в своих сервисах, недостаточно ли JWT? – enamrik
Это похоже на стандартную версию OAuth 2.0, где клиент представляет структурированный JWT для сервера ресурсов (= API), и API знает, как проверить токен и использовать заявки там. Он не обеспечивает аутентификацию, но позволяет делегировать доступ клиенту. –
Спасибо, это было подтверждение, которого я ждал. Мои коллеги хотели включить OpenID Connect, и API-интерфейсы потребляют id_token. Я думаю, это потому, что они полагали, что утверждения принадлежат id_token (который поддерживается спецификацией), а не в токене доступа (который не определен OAuth). Но так как OpenID Connect, Relying Party (OAuth Client) являются единственными, которые потребляют id_token, нам нужно будет рассмотреть наши RPs API! Это было похоже на непонимание проблемы, которую должен был решить OpenID Connect. – enamrik