Примеры в реальном времени для типов грантов Oauth2 и хорошего документа, пример для OAuth2 с Spring MVC

Я читал о Oauth2 несколько дней назад, у него есть такие сущности, как клиент, владелец ресурса, сервер ресурсов, сервер авторизации, и я тоже понял объяснения. но я не понимаю, что тип гранта полностью все еще у меня есть путаница в следующих типах. Oauth2 имеет 4 различных типа грантов, таких как,

  1. код авторизации
  2. неявным именем
  3. Пароль Владельца Ресурса
  4. Учетные Данные Клиента

пожалуйста, дайте мне несколько примеров в реальном времени для вышеуказанных типов, чтобы дифференцировать реализацию. Мне нужно знать, какие типы реализации гранта spring security oauth2 имеет и полный поток для spring oauth2 с безопасностью.

Я прошел через некоторый пример, реализованный с oauth2 с spring mvc, spring security. но это меня смущает, я не получаю четкой картины реализации api.

Я ищу хороший поток Oauth2 и документ с Spring mvc и Весенняя охрана. пожалуйста, помогите мне.

3 ответов


с точки зрения понимания потоков и различия между ними, презентации лучший ресурс я нашел в интернете. После этого, если вы прочитаете описание спецификации OAuth2,будет намного проще следовать.

к сожалению, с точки зрения образцов кода, там нет хорошего кода Spring Security OAuth2 (примеры Sparklr и Tonr в порядке, но не супер ясно). Лучший ресурс-посмотреть модульные тесты в коде Spring Security OAuth2 на github.

один вопрос, который я хочу задать, - вы хотите создать свой собственный поставщик OAuth2 или просто хотите подключиться к Facebook, Google и т. д. В качестве клиента OAuth2. Если это вторая часть, я бы предложил пропустить Spring Security OAuth2 и вместо этого посмотреть на социальный проект.

изменить: Для создания поставщика OAuth2 ознакомьтесь с этим кодом Дэйва Сира (он возглавляет проект Spring Security OAuth) . Это показывает, как вы можете создайте поставщика OAuth2 и сервер ресурсов в 20 строках кода. Это самый простой способ создать код Spring Security OAuth. https://github.com/dsyer/sparklr-boot

Он использует проекты Spring Boot и Spring Security OAuth. Конечно, вам нужно будет правильно понять Spring Security, конфигурацию JavaConfig и протокол OAuth2, чтобы понять, как все это работает.


Я также попал в OAuth2, используя весну в прошлом месяце.

Я прочитал большую часть что OAuth2 спецификаций и используется образцы с весны-безопасность источник, который замечательно. Таким образом, я получил запущенное приложение, которое я мог бы использовать для игры и просмотра его источников рядом с спецификациями.


код авторизации-это поток на основе перенаправления, в большинстве приложений при входе в систему через Facebook или google мы используем этот тип гранта.

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

тип предоставления пароля используется, когда клиентское приложение и владелец ресурса принадлежат одному приложению, это будет случай, когда ваше приложение работает от начала до конца. Здесь мы делимся именем пользователя и паролем. в отличие от вышеупомянутых двух, где мы аутентифицируемся через Facebook или google.

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