Я пытаюсь настроить свой бэкэнд Spring Boot WebFlux REST API, к которому будут подключаться клиентские мобильные приложения, и я не уверен, как вы обрабатываете как пользовательский вход, например учетную запись, созданную через мое приложение, так и использование единого входа в API, например Google Sign In
или Sign In With Apple
С моим пользовательским входом я сгенерирую JWT, который будет передан обратно клиенту, а затем клиент отправит его в заголовке Authorization
для каждого запроса и в моем * 1006. * в Spring API я бы проверил JWT, а затем установил контекст безопасности.
При едином входе в API у них не было бы JWT. Google Signin docs говорит, что передает токен через почтовый запрос на ваш сервер для проверки токена, поэтому я делаю это с помощью указанной c конечной точки в моем контроллере
val verifier = GoogleIdTokenVerifier.Builder(GoogleNetHttpTransport.newTrustedTransport(),JacksonFactory())
.setAudience(listOf(""))
.build()
val idToken: GoogleIdToken? = verifier.verify(loginData.authToken)
Что является рекомендуемым способом обработки обоих сценариев ios или даже проверки подлинности между несколькими едиными входами в API? Должен ли я просто вернуть JWT для единого входа в api, как если бы я использовал свой собственный, или есть способ, которым я могу использовать свой ServerSecurityContextRepository
для обработки всего, устраняя необходимость в определенных c конечных точках для единого входа apis?
* Отказ от ответственности: я впервые реализую свой собственный REST API с безопасностью