Перейти к основному содержимому

16 записей с тегом "OAuth"

Посмотреть все теги

· 7 мин. чтения

1. Обзор

Keycloak — это решение для управления идентификацией и доступом с открытым исходным кодом, администрируемое RedHat и разработанное на Java компанией JBoss.

В этом руководстве мы узнаем , как настроить сервер Keycloak, встроенный в приложение Spring Boot . Это упрощает запуск предварительно настроенного сервера Keycloak.

Keycloak также можно запустить как автономный сервер , но тогда потребуется загрузить его и настроить через консоль администратора.

2. Предварительная настройка Keycloak

· 6 мин. чтения

1. Обзор

OpenFeign — это декларативный клиент REST, который мы можем использовать в приложениях Spring Boot . Предположим, что у нас есть REST API, защищенный с помощью OAuth2 , и мы хотим вызвать его с помощью OpenFeign. В этой ситуации нам нужно будет предоставить токен доступа с помощью OpenFeign.

В этом руководстве мы расскажем , как добавить поддержку OAuth2 в клиент OpenFeign .

2. Служба для проверки подлинности службы

Проверка подлинности между службами — популярная тема в области безопасности API. Мы можем использовать mTLS или JWT , чтобы обеспечить механизм аутентификации для REST API. Однако протокол OAuth2 по умолчанию является решением для защиты API . Допустим, мы хотим вызвать безопасную службу (роль сервера), используя другую службу (роль клиента). В этом сценарии мы используем тип предоставления учетных данных клиента . Обычно мы используем учетные данные клиента для аутентификации между двумя API или системами без конечного пользователя. На рисунке ниже показаны основные участники этого типа гранта:

· 11 мин. чтения

1. Введение

Spring Cloud Gateway — это библиотека, которая позволяет нам быстро создавать легкие шлюзы API на основе Spring Boot, о которых мы уже рассказывали в предыдущих статьях.

На этот раз мы покажем, как быстро реализовать шаблоны OAuth 2.0 поверх него .

2. Краткий обзор OAuth 2.0

Стандарт OAuth 2.0 — это хорошо зарекомендовавший себя стандарт, используемый во всем Интернете в качестве механизма безопасности, с помощью которого пользователи и приложения могут безопасно получать доступ к ресурсам.

· 7 мин. чтения

1. Введение

OAuth — это открытый стандарт, описывающий процесс авторизации. Его можно использовать для авторизации доступа пользователей к API. Например, REST API может ограничить доступ только для зарегистрированных пользователей с соответствующей ролью.

Сервер авторизации OAuth отвечает за аутентификацию пользователей и выдачу токенов доступа, содержащих пользовательские данные и соответствующие политики доступа.

В этом руководстве мы реализуем простое приложение OAuth, используя проект Spring Security OAuth Authorization Server .

В процессе мы создадим клиент-серверное приложение, которое будет получать список статей ForEach из REST API. Как для клиентских служб, так и для серверных служб потребуется аутентификация OAuth.

2. Реализация сервера авторизации

· 3 мин. чтения

1. Почему я разделяю «Learn Spring Security»?

Я много думал об этом.

Впервые я запустил свой курс «Learn Spring Security» еще в начале 2016 года. Это был мой второй курс и сверхамбициозный шаг — предоставление полного обучения Spring Security от начала до конца.

После множества новых уроков, обновлений и обновлений за последние несколько лет и почти 2000 студентов, изучающих этот материал , курс имеет огромный успех .

Но на протяжении всей этой непрерывной работы над материалом и моей собственной консультационной работы стало ясно одно. Большая часть моего внимания сейчас сосредоточена на OAuth, хотя, как и следовало ожидать, я освещаю множество продвинутых тем в «Learn Spring Security».

OAuth — это не просто часть курса — это САМАЯ важная часть.

· 5 мин. чтения

1. Обзор

В этом руководстве мы узнаем , как использовать Spring OAuth2RestTemplate для выполнения вызовов REST OAuth2 .

Мы создадим веб-приложение Spring, способное отображать репозитории учетной записи GitHub.

2. Конфигурация Maven

Во- первых, нам нужно добавить зависимости spring-boot-starter-security и spring-security-oauth2-autoconfigure в наш pom.xml . Поскольку мы создаем веб-приложение, нам также необходимо включить артефакты spring-boot-starter-web и spring-boot-starter-thymeleaf .

· 4 мин. чтения

1. Обзор

В этом руководстве мы сосредоточимся на том, как протестировать службу REST, которая защищена и использует Keycloak для аутентификации и авторизации с помощью пользовательского интерфейса Swagger.

2. Вызов

Как и другие веб-ресурсы, REST API часто защищены. Таким образом, потребитель службы (такой как пользовательский интерфейс Swagger) должен не только сам обрабатывать HTTP-вызов, но и предоставлять информацию для аутентификации поставщику службы.

Keycloak — это сервер IAM, который позволяет выполнять аутентификацию и авторизацию за пределами реализации поставщика услуг. Это часть архитектуры, как показано на следующей диаграмме:

· 8 мин. чтения

1. Обзор

В этом руководстве мы узнаем , как настроить сервер ресурсов OAuth 2.0 с помощью Spring Security 5 .

Мы сделаем это, используя JWT, а также непрозрачные токены — два типа токенов-носителей, поддерживаемых Spring Security.

Перед тем, как перейти к примерам реализации и кода, мы установим некоторую предысторию.

2. Немного предыстории

· 6 мин. чтения

1. Введение

В этой статье мы начнем с краткого обзора OAuth 2.0, OpenID и Keycloak. После этого мы узнаем об API-интерфейсах Keycloak REST и о том, как их вызывать в Postman.

2. ОАут 2.0

OAuth 2.0 — это структура авторизации, которая позволяет аутентифицированному пользователю предоставлять доступ третьим лицам с помощью токенов. Маркер обычно ограничен некоторыми областями с ограниченным временем жизни. Следовательно, это безопасная альтернатива учетным данным пользователя.

OAuth 2.0 состоит из четырех основных компонентов:

· 5 мин. чтения

1. Введение

В этом уроке мы рассмотрим библиотеку ScribeJava .

ScribeJava — это простой клиент OAuth для Java, который помогает управлять потоком OAuth.

Главной особенностью библиотеки является то, что она поддерживает все основные API OAuth 1.0 и 2.0 из коробки. Более того, если нам придется работать с неподдерживаемым API, библиотека предоставляет пару классов для реализации наших API OAuth.

Еще одна важная особенность заключается в том, что можно выбрать, какой клиент использовать. Действительно, ScribeJava поддерживает несколько HTTP-клиентов: