Stiamo utilizzando la concessione nome utente-password per ottenere un token di accesso dal nostro server di autenticazione. Vogliamo aggiornare il token di accesso prima che scada utilizzando il token di aggiornamento fornito fino a quando l'utente non chiude o chiude l'app client.Richiedi nuovo token di accesso utilizzando il token di aggiornamento in concessione nome-password in Spring Security OAuth2
Tuttavia non riesco proprio a trovare nessuna esempi di come a rilasciare questo refresh richiesta di token ..
Per ottenere il token che chiamiamo qualcosa di simile:
curl -v --data "grant_type=password&username=user&password=pass&client_id=my_client" http://localhost:8080/oauth/token
Quindi, per rinfrescare mi aspetto la chiamata a guardare come questo:
curl -v --data "grant_type=refresh_token&access_token=THE_ACCESS_TOKEN&refresh_token=THE_REFRESH_TOKEN" http://localhost:8080/oauth/token
o forse
curl -v -H "Authorization: Bearer THE_ACCESS_TOKEN" --data "grant_type=refresh_token&refresh_token=THE_REFRESH_TOKEN" http://localhost:8080/oauth/token
Ma mi darà solo un 401 ..
Oh sì, forse ho bisogno di aggiungere il clientId? Non riesco a utilizzare il segreto del client, perché non ce n'è uno (vedere sopra la richiesta per ottenere il token). L'autenticazione viene eseguita utilizzando nome utente e password.
Penso che la configurazione del server sia corretta, quindi non la posterò qui. Se una delle mie richieste di esempio dovesse funzionare e hai bisogno di vedere le parti importanti della configurazione, le aggiungerò.
Grazie!
Non sai perché hai bisogno di aggiornare il token qui. I token di accesso con validità limitata si comportano esattamente allo stesso modo con un flusso di lavoro più semplice. Mi sto perdendo qualcosa? – long
@lungo cosa succederebbe se il tuo token di accesso fosse scaduto e il tuo utente fosse ancora loggato. In quel caso dovrai ottenere un nuovo token di accesso e per questo utilizzeremo il token di aggiornamento –