Подтвердить что ты не робот

OAuth 2 access_token vs OpenId Connect id_token

Хотя я работал с OAuth 2 раньше, я новичок в Open ID Connect.

Чтение учебников и документации Я столкнулся с access_token и id_token, где access_token - это случайная уникальная строка, сгенерированная в соответствии с OAuth 2 и id_token - это JSON Web Token, который содержит информацию, такую ​​как идентификатор пользователя, алгоритм, эмитент и другую информацию, которая может быть использована для его проверки. Я также видел поставщиков API, которые предоставляют как access_token, так и id_token, и насколько я знаю, это для обратной совместимости.

Мой вопрос в том, что можно использовать как access_token, так и id_token для доступа к защищенным ресурсам? Или id_token только для целей проверки, а access_token используется для доступа к защищенным ресурсам?

4b9b3361

Ответ 1

Первоначально OAuth и OpenId предназначены для разных целей: OpenId для аутентификации и OAuth для авторизации. OpenId Connect является объединением двух и служит для обоих, но не изменяет их исходные функции. Помня об этом, вы должны быть в состоянии узнать себя.; -)

id_token используется для идентификации аутентифицированного пользователя, например. для SSO. Access_token должен использоваться для подтверждения прав доступа к защищенным ресурсам, например. для конечной точки userinfo в OpenId Connect.

Ответ 2

access_token полезно вызвать определенные API в Auth0 (например,/userinfo) или API, который вы определяете в Auth0.

id_token - это JWT и представляет зарегистрированного пользователя. Он часто используется вашим приложением.

можно использовать как access_token, так и id_token для доступ к защищенным ресурсам?

Нет полностью, во-первых, вам нужно использовать id_token для входа в систему,
во-вторых, вы получите accessToken,
last, используйте accessToken для доступа к данным.