Browse Source

sso(authentik): always surface current provider refresh token from exchange

pull/6360/head
Alex Smith 5 days ago
committed by GitHub
parent
commit
e16a24233c
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 18
      src/sso_client.rs

18
src/sso_client.rs

@ -240,11 +240,19 @@ impl Client {
Ok(token_response) => token_response, Ok(token_response) => token_response,
}; };
Ok(( // Always surface a refresh token:
token_response.refresh_token().map(|token| token.secret().clone()), // - If the IdP (e.g., Authentik) returned a rotated one, use it.
token_response.access_token().secret().clone(), // - Otherwise, keep using the one we just used for this request.
token_response.expires_in(), let access = token_response.access_token().secret().clone();
)) let expires_in = token_response.expires_in();
let new_refresh = token_response
.refresh_token()
.map(|t| t.secret().clone())
.unwrap_or_else(|| rt.secret().clone());
Ok((Some(new_refresh), access, expires_in))
} }
} }

Loading…
Cancel
Save