Korzystamy z grantu nazwa użytkownika-hasło, aby uzyskać token dostępu z naszego serwera uwierzytelniania. Chcemy odświeżyć token dostępu przed jego wygaśnięciem za pomocą dostarczonego tokena odświeżania, dopóki użytkownik nie wyloguje się lub nie zamknie aplikacji klienckiej.Żądanie nowego tokena dostępu za pomocą odświeżania tokena w przydzieleniu nazwy użytkownika i hasła w Spring Security OAuth2
Jednak nie mogę znaleźć żadnych przykładów tego, jak wydać ten odświeżania tokenu żądania ..
Aby otrzymać token nazywamy coś takiego:
curl -v --data "grant_type=password&username=user&password=pass&client_id=my_client" http://localhost:8080/oauth/token
więc odświeżyć będę oczekiwać na wezwanie aby wyglądać następująco:
curl -v --data "grant_type=refresh_token&access_token=THE_ACCESS_TOKEN&refresh_token=THE_REFRESH_TOKEN" http://localhost:8080/oauth/token
czy może
curl -v -H "Authorization: Bearer THE_ACCESS_TOKEN" --data "grant_type=refresh_token&refresh_token=THE_REFRESH_TOKEN" http://localhost:8080/oauth/token
Ale da mi tylko 401 ..
O tak, może muszę dodać identyfikatorklienta? Nie mogę użyć tajnego klienta, ponieważ go nie ma (patrz powyższy wniosek o uzyskanie tokena). Uwierzytelnianie odbywa się za pomocą nazwy użytkownika i hasła.
Myślę, że mamy właściwą konfigurację serwera, więc nie będę go tutaj publikować. Jeśli jedno z moich przykładowych zgłoszeń powinno zadziałać i musisz zobaczyć ważne części konfiguracyjne, dodam je.
Dzięki!
Nie wiem, dlaczego w ogóle potrzebujesz tutaj tokena odświeżającego. Token dostępu z ograniczoną ważnością zachowuje się dokładnie tak samo z prostszym przepływem pracy. Czy czegoś brakuje? – long
@ Jeśli nie wygaśnie Twój token dostępu, a użytkownik jest wciąż zalogowany. W tym przypadku musisz zdobyć nowy token dostępu, a do tego używamy tokena odświeżania –