Handles authentication to the Wallaroo platform.
Performs a "device code"-style OAuth login flow.
The code is organized as follows:
Auth objects returned by create()
should be placed on each request to
platform APIs. Currently, we have the following types:
Authorization: Bearer XXX
headers on each outgoing
requestObjects derived from TokenFetcher know how to obtain an AccessToken from a particular provider:
Defines all the supported auth types.
Handles conversions from string names to enum values.
TokenData(token, user_email, user_id)
Create new instance of TokenData(token, user_email, user_id)
Returns an auth object of the corresponding type.
Auth object that can be passed to all
requests
calls
Removes cached values for all third-party auth providers.
This will not invalidate auth objects already created with create()
.
Base type for all errors in this module.
Errors encountered while performing a login.
Errors encountered while refreshing an AccessToken.