Я нашел аналогичный issue, но он остался без ответа, поэтому я предполагаю, что я немного продублирую вопрос.Spring OAuth2: поддержка auth и доступа к ресурсам как с SSO, так и с пользовательским сервером auth
Я использую Spring OAuth2 для реализации отдельных ресурсов и пользовательских серверов аутентификации. Я уже настроил взаимодействие с сервером auth, выпуская &, проверяя токены JWT, и все кажется прекрасным.
Теперь я пытаюсь добавить функциональность SSO, но действительно застрял с ней. Я исследовал официальную весну examples и вложенную инструкцию, но она очень коротко сформулирована, когда речь идет о подключении части SSO к пользовательской аутентификации сервера. И на самом деле автор использует только внешний ресурс поставщика («пользовательская информация»), чтобы показать процесс.
Я думаю, что это нормальная вещь, чтобы иметь все эти средства SSO аутентификации, а также пользовательскую регистрацию. Я вижу, что он хорошо работает с stackoverflow, например.
Я собираюсь найти маршруты, где можно найти любую информацию об обработке на сервере ресурсов различных типов токенов, выданных мультиплексированными провайдерами единого входа, а также из пользовательского сервера auth. Возможно, я могу использовать цепочку auth для этого, а некоторые означают, чтобы различать формат токена, чтобы знать, как его обрабатывать. Возможно ли это с помощью Spring OAuth2? Или мне нужно сделать эту магию как-то вручную?
На данный момент у меня есть только одна «странная» идея: Не использовать мой собственный сервер ресурсов с этим материалом SSO вообще. После получения маркера Facebook (например) - просто обменять его на апи JWT лексемы с пользовательскими аутентификации сервера (ассоциирования или создание пользователя на пути), а затем работать с сервером ресурсов на стандартных основ
Редакцией: Я нашел хоть что-то. Я читал о настройке фильтров в цепочке авторизации и переводе данных социальных токенов на мои пользовательские JWT-ы как «пост-аутентификация» (а не сумасшедшая идея). Но в основном это делается с помощью SpringSocial. Итак, теперь вопрос: как это сделать? Забыл сказать, что я использую Password Grant для аутентификации на настраиваемом сервере. Клиенты будут только доверенным приложением, и я даже не уверен о клиенте браузера (думая только о собственных мобильных опциях). Даже если я решаю, что у меня будет клиент браузера, я буду уверен, что у него будет бэкэнд для хранения информации о sencetive.
позвольте мне подтвердить мое понимание. Вы передали уже полученный токен из FB на ваш сервер, и ваш сервер выпустил новый JWT? как вы это вызвали? Каков был URL? какие библиотеки вы использовали для достижения этого – zalis
@zalis Я попытался немного прояснить ситуацию в конце. Надеюсь, это поможет. Но все же многое может быть различным, зависит от технических требований к вашему проекту – maret