Описание тега openid-connect

OpenID Connect (OIDC) - это дружественный к REST протокол для (возможно, междоменного) обмена идентификационными данными пользователей, построенный на основе спецификаций OAuth 2.0 и JWT.

OpenID Connect - это протокол, построенный на основе OAuth2.0 и OpenID. Доступ к спецификации можно получить по этой ссылке. OAuth2.0 - это структура авторизации, определенная в RFC6749. RFC для спецификации OAuth2.0 доступен по этой ссылке. В этом протоколе доверие между владельцем ресурса и сервером ресурсов (аутентификация) строится на основе токенов.

Как упоминалось ранее, OpenID Connect предоставляет возможность авторизации и аутентификации с использованием идентификаторов, хранящихся в общем месте. Спецификация построена на HTTP и ориентирована на веб-ресурсы. OpenID Connect представляет тип токена, а именно ID Token, который является веб- токеном JSON (JWT). Идентификационная информация авторизованного пользователя передается через ID Token. После получения токена идентификатора его можно проверить для аутентификации конечного пользователя. Для этого спецификация JWT ( RFC7519) определяет метод проверки, который включает подписание токена или шифрование.

Помимо токена идентификатора, OpenID Connect наследует токены доступа, токены обновления и другие определенные объекты от OAuth2.0.

Для провайдера OpenID Connect существуют две основные конечные точки. Это конечная точка авторизации и конечная точка токена. Проверяющая сторона, сторона, которая полагается на токены, выпущенные поставщиком OpenID Connect, обменивается данными с этими конечными точками для авторизации и получения токенов. Проверяющая сторона использует эти токены для аутентификации конечного пользователя и обменивается данными с сервером ресурсов, используя эти токены.

Для получения соответствующих токенов в спецификации представлены три типа потоков. Они есть,

1. Поток кода авторизации

2. Неявный поток

3. Гибридный поток

Поток кода авторизации идеально подходит для конфиденциальных клиентов. Конфиденциальные клиенты - это клиенты, которые ранее согласовали секретный ключ между провайдером OpenID Connect. Этот поток рекомендуется, поскольку он безопасен.

С другой стороны, неявный поток рекомендуется для общедоступных клиентов на основе браузера. У таких клиентов нет возможности защитить общий секрет, следовательно, нет общего секрета. Гибридный поток представляет собой комбинацию потока кода авторизации и гибридного потока, который может использоваться для конфиденциальных клиентов.