Struct oxide_auth::code_grant::refresh::Refresh [−][src]
pub struct Refresh { /* fields omitted */ }Expand description
An ongoing refresh request.
This is a rather linear Mealy machine with four basic phases. It will pose some requests in the
form of Output which should be satisfied with the next Input data. This will eventually
produce a refreshed BearerToken or an Error. Note that the executing environment will
need to use a Registrar and an Issuer to which some requests should be forwarded.
Issuer ../primitives/issuer/trait.Issuer.html
Registrar ../primitives/registrar/trait.Registrar.html
A rough sketch of the operational phases:
- Ensure the request is valid based on the basic requirements (includes required parameters)
- Check any included authentication
- Try to recover the refresh token 3.1. Check that it belongs to the authenticated client 3.2. If there was no authentication, assert token does not require authentication 3.3. Check the intrinsic validity (timestamp, scope)
- Query the backend for a renewed (bearer) token
Implementations
Construct a new refresh state machine.
This borrows the request for the duration of the request execution to ensure consistency of all client input.