1. Обзор
В этом руководстве мы собираемся предоставить реализацию платформы авторизации OAuth 2.0 с использованием Jakarta EE и MicroProfile. Самое главное, мы собираемся реализовать взаимодействие ролей OAuth 2.0 через тип гранта Authorization Code . Мотивация написания этой статьи — оказать поддержку проектам, реализованным с использованием Jakarta EE, так как это еще не обеспечивает поддержку OAuth.
Для наиболее важной роли, сервера авторизации, мы собираемся реализовать конечную точку авторизации, конечную точку маркера и, кроме того, конечную точку ключа JWK , которая полезна для сервера ресурсов для получения открытого ключа.
Поскольку мы хотим, чтобы реализация была простой и легкой для быстрой настройки, мы собираемся использовать предварительно зарегистрированное хранилище клиентов и пользователей и, очевидно, хранилище JWT для токенов доступа.
Прежде чем перейти непосредственно к теме, важно отметить, что пример в этом руководстве предназначен для образовательных целей. Для производственных систем настоятельно рекомендуется использовать зрелое, хорошо протестированное решение, такое как Keycloak .
2. Обзор OAuth 2.0