auth_io library

Classes

AccessCredentials
OAuth2 Credentials.
AccessToken
An OAuth2 access token.
AuthClient
A authenticated HTTP client.
AuthEndpoints
The endpoints required for an OAuth 2.0 authorization code flow.
AutoRefreshingAuthClient
A auto-refreshing, authenticated HTTP client.
ClientId
Represents the client application's credentials.
GoogleAuthEndpoints
The endpoints required for an OAuth 2.0 authorization code flow with Google.
ServiceAccountCredentials
Represents credentials for a service account.

Enums

ResponseType
Available response types that can be requested when using the implicit browser login flow.

Functions

authenticatedClient(Client baseClient, AccessCredentials credentials, {bool closeUnderlyingClient = false}) AuthClient
Obtain a Client which automatically authenticates requests using credentials.
autoRefreshingClient(ClientId clientId, AccessCredentials credentials, Client baseClient, {AuthEndpoints authEndpoints = const GoogleAuthEndpoints()}) AutoRefreshingAuthClient
Creates an AutoRefreshingAuthClient which automatically refreshes credentials before they expire.
clientViaApiKey(String apiKey, {Client? baseClient}) → Client
Obtains a Client which uses the given apiKey for making HTTP requests.
clientViaApplicationDefaultCredentials({required List<String> scopes, Client? baseClient}) Future<AutoRefreshingAuthClient>
Create a client using Application Default Credentials.
clientViaMetadataServer({Client? baseClient}) Future<AutoRefreshingAuthClient>
Obtains oauth2 credentials and returns an authenticated HTTP client.
clientViaServiceAccount(ServiceAccountCredentials clientCredentials, List<String> scopes, {Client? baseClient}) Future<AutoRefreshingAuthClient>
Obtains oauth2 credentials and returns an authenticated HTTP client.
clientViaUserConsent(ClientId clientId, List<String> scopes, PromptUserForConsent userPrompt, {Client? baseClient, String? hostedDomain, int listenPort = 0, String? customPostAuthPage, AuthEndpoints authEndpoints = const GoogleAuthEndpoints()}) Future<AutoRefreshingAuthClient>
Obtains oauth2 credentials and returns an authenticated HTTP client.
clientViaUserConsentManual(ClientId clientId, List<String> scopes, PromptUserForConsentManual userPrompt, {Client? baseClient, String? hostedDomain, AuthEndpoints authEndpoints = const GoogleAuthEndpoints()}) Future<AutoRefreshingAuthClient>
Obtains oauth2 credentials and returns an authenticated HTTP client.
obtainAccessCredentialsViaCodeExchange(Client client, ClientId clientId, String code, {String redirectUrl = 'postmessage', String? codeVerifier, AuthEndpoints authEndpoints = const GoogleAuthEndpoints()}) Future<AccessCredentials>
Obtain oauth2 AccessCredentials by exchanging an authorization code.
obtainAccessCredentialsViaMetadataServer(Client client) Future<AccessCredentials>
Obtain oauth2 AccessCredentials using the metadata API on ComputeEngine.
obtainAccessCredentialsViaServiceAccount(ServiceAccountCredentials clientCredentials, List<String> scopes, Client client) Future<AccessCredentials>
Obtain oauth2 AccessCredentials using service account credentials.
obtainAccessCredentialsViaUserConsent(ClientId clientId, List<String> scopes, Client client, PromptUserForConsent userPrompt, {String? hostedDomain, int listenPort = 0, String? customPostAuthPage, AuthEndpoints authEndpoints = const GoogleAuthEndpoints()}) Future<AccessCredentials>
Obtain oauth2 AccessCredentials using the oauth2 authentication code flow.
obtainAccessCredentialsViaUserConsentManual(ClientId clientId, List<String> scopes, Client client, PromptUserForConsentManual userPrompt, {String? hostedDomain, AuthEndpoints authEndpoints = const GoogleAuthEndpoints()}) Future<AccessCredentials>
Obtain oauth2 AccessCredentials using the oauth2 authentication code flow.
refreshCredentials(ClientId clientId, AccessCredentials credentials, Client client, {AuthEndpoints authEndpoints = const GoogleAuthEndpoints()}) Future<AccessCredentials>
Obtains refreshed AccessCredentials for clientId and credentials.

Typedefs

PromptUserForConsent = void Function(String uri)
Function for directing the user or it's user-agent to uri.
PromptUserForConsentManual = Future<String> Function(String uri)
Function for directing the user or it's user-agent to uri.
RefreshFailedException = ServerRequestFailedException
No longer used. Replaced by ServerRequestFailedException.

Exceptions / Errors

AccessDeniedException
Thrown if an attempt to make an authorized request failed.
ServerRequestFailedException
Thrown when a request to or the response from an authentication service is invalid.
UserConsentException
Thrown if user did not give their consent.