OAuth2 - dwie aplikacje, architektura

0

Hej,

Pytanie będzie bardziej architektonicznie, więc pozwólcie że konkretnego kodu tutaj nie podam.

Otóż sprawa wygląda następująco: Mam dwie aplikacje javowe, A oraz B

Aplikacja A (duży monolit, "zwykły" Spring (nie Spring Boot)) - jest OAuth2 clientem - ma swoje client-id, client-secret, i żeby z niej ogólnie korzystać, trzeba się tym Googlem zalogować.

Aplikacja B (świeża, nowa, Spring Bootowa apka) - jest OAuth2 clientem - ma swoje client-id, client-secret, i żeby z niej ogólnie korzystać, trzeba się tym Googlem zalogować.

To już mam. Działa. Tylko teraz chciałbym się komunikować pomiędzy tymi aplikacjami (zarówno A -> B jak i B -> A) w taki sposób (RestClientem), żeby użytkownik oczywiście nie musiał podwójnie się logować. No i pojawiają się problemy i pytania:

  1. Nie do końca mam doświadczenie z samym protokołem OAuth2 - czy jakakolwiek z tych dwóch aplikacji powinna zostać skonfigurowana jako Resource server bądź Authorization server?
  2. Czy powinienem konfigurować URLe tych projektów w Google console, tam gdzie są client-id (np dodać localhost z drugim portem)?
  3. Poza OAuth2, używam dodatkowo LDAPa - implementuję np DefaultOAuth2UserService. Czy może to jakoś utrudnić?
  4. Będzie trzeba generować jakiś własny JWT? co z Access Tokenem? Jak w ogóle się za to zabrać z grubsza?

Oczywista sprawa, że szukałem w Google, jednak znajduję miliard różnych opcji i konfiguracji na miliard różnych potrzeb, i mam problem z dopasowaniem konkretnego rozwiązania pod mój problem, już mi głowa pęka. Jak ktoś pomoże będę wdzięczny.

@jarekr000000 @Shalom @Koziołek @Krolik @scibi92

2

SSO - nie używałem, kiedyś słyszałem

1 użytkowników online, w tym zalogowanych: 0, gości: 1