Какой рабочий процесс OAuth 2 я должен использовать в моем приложении - PullRequest
0 голосов
/ 05 апреля 2019

этот вопрос более теоретический, поэтому я не знаю, должен ли он быть здесь. Я хочу использовать OAuth2 для аутентификации моего пользователя. Я искал в Google и обнаружил, что есть много рабочих процессов OAuth 2, и я не знаю, что использовать.

Мой интерфейс разработан в React, а мой интерфейс разработан на Java с помощью Springboot.

Пользователи сохраняются в базе данных или на серверах ldap, в зависимости от того, какой человек хочет использовать.

Мое приложение также является одностраничным приложением, оно обновляется только при выходе пользователя из системы.

Спасибо за вашу помощь!

Ответы [ 4 ]

1 голос
/ 05 апреля 2019

Я думаю, вы неправильно понимаете OAuth2.OAuth2 - это протокол авторизации.Если вы хотите разработать систему аутентификации, она вам не подходит.

Spring Security или Apache Shiro Framework больше подойдет вашей системе аутентификации.

Если ваша бэкэнд-система хочет авторизовать какое-то разрешениевашему клиенту.тогда вы можете использовать OAuth2. Например, если кто-то из ваших клиентов хочет разрешить стороннему сервису доступ к вашему ресурсу, тогда OAuth2 будет лучшим выбором.

0 голосов
/ 12 апреля 2019

В oAuth2 есть 4 типа предоставления, которые предназначены для разных сценариев. См .: Защита существующего API с помощью нашего собственного решения

Похоже, password credential это то, что вы ищете.

Resource owner password credential (ROPC): потребитель (приложение) совершает звонки, используя токен на предъявителя, созданный с использованием apikey, secret, username и password. В основном используется, когда вы (ваш сервер авторизации) уже знаете пользователей (база данных пользователей обрабатывается в вашей собственной системе).

0 голосов
/ 05 апреля 2019

Боюсь, ваш квест недостаточно конкретен.Но чтобы узнать, какую архитектуру и поток OAuth2 использовать, взгляните на OAuth 2.0 для приложений на основе браузера RFC.Есть несколько вариантов - вы можете использовать ваш SPA или его бэкэнд в качестве клиента OAuth2.Посмотрите на подобные вопросы SO, такие как this .

Затем, для целей аутентификации, узнайте о OpenId Connect (расширение OAuth2) и его токене ID.Чтобы получить информацию о пользователе, вы можете использовать идентификационный токен или пользовательскую информационную точку .

0 голосов
/ 05 апреля 2019

Как уже объяснил Zilong, OAuth2 - это протокол авторизации.Но OAuth2 не совсем специфичен для Java, но также может использоваться с React.Вы можете использовать эту ссылку для примера React + Java OAuth2.Я думаю, это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...