Сервер авторизации отвечает за проверку подлинности пользователей или клиентов (других приложений), проверяет, авторизованы ли они делать то, что они хотят, и в случае успеха выдает токен.Это означает, что база данных, к которой она подключается, должна иметь все учетные данные пользователей, идентификаторы клиентов, секреты клиентов, роли и другую соответствующую информацию, которая помогает в аутентификации и авторизации.
Сервер ресурсов отвечает за обработку всех запросов, поступивших извнешний интерфейс, будь то аутентифицированные запросы или открытые запросы (не требует аутентификации).База данных, к которой она подключается, должна иметь информацию, не относящуюся к аутентификации, такую как пол пользователя, рост, вес, хобби и т. Д.
Чтобы ответить на ваш вопрос, вы можете создать контроллеры на сервере ресурсов, который предоставляет регистрацию, и другиефункциональные возможности.Затем этот сервер будет звонить на сервер авторизации.Для регистрации Resource Server передает учетные данные на Auth Server, чтобы узнать, было ли имя пользователя уже заявлено, и если не зарегистрировать пользователя и на основании ответа Auth Server, Resource Server продолжит регистрацию пользователя.Для входа в систему веб-интерфейс может напрямую обратиться к серверу аутентификации для получения токена.
Для всех последующих вызовов к защищенным ресурсам (с токеном доступа) серверу ресурсов потребуется вызвать сервер аутентификации для проверки токенов.Для этого Spring предоставляет CheckTokenEndpoint (/oauth/check_token
).
Вы также можете проверить OAuth2RestTemplate .Это может быть использовано на сервере ресурсов для выполнения запросов REST к серверу аутентификации.Обратите внимание, что Resource Server (или любое другое внутреннее приложение, которое у вас есть, например, веб-интерфейс) будет клиентом для Auth Server.Им также нужно будет аутентифицироваться и авторизоваться.