Mam aplikację angular2, która jest zabezpieczona za pomocą openid-connect i oauth2. Po uwierzytelnieniu użytkownika aplikacja uzyskuje dostęp do zabezpieczonego webapi1. Wszystko działa dobrze, aż tutaj.
Teraz chcę uzyskać dostęp do innej zabezpieczonej strony webapi na przykład dla: webapi2 z metody webapi1. Jak to zrobić, np. jak zdobyć token okaziciela do przekazania w httpclient?
Używam localstorage do przechowywania tokenu dostępu w kanciastej aplikacji.
Dzięki
Odpowiedzi:
0 dla odpowiedzi № 1Przede wszystkim musisz wyjaśnić, który z nich jest głównym serwerem uwierzytelniającym (Web API 1 lub Web API 2).
- Jeśli Web API 2 jest głównym serwerem uwierzytelniającym, musisz pobrać token na okaziciela, używając komunikacji między serwerami API 1 i API 2 i po prostu przekazuj tokena.
- Jeśli oba interfejsy API mają własne uwierzytelnianiezanim uwierzytelnisz API 1, musisz pobrać token z API 2, a następnie dodać token API 2, aby uzyskać API 1 i wydać token API 1 do klienta. (Uwaga: użyj tokenu API 2 zapisanego w roszczeniu podczas wysyłania żądania do interfejsu API 2).