Описание тега openid-connect
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. Этот поток рекомендуется, поскольку он безопасен.
С другой стороны, неявный поток рекомендуется для общедоступных клиентов на основе браузера. У таких клиентов нет возможности защитить общий секрет, следовательно, нет общего секрета. Гибридный поток представляет собой комбинацию потока кода авторизации и гибридного потока, который может использоваться для конфиденциальных клиентов.