Default Sudo User Client
Default implementation of SudoUserClient interface.
Parameters
configuration parameters.
Android app context.
namespace to use for internal data and cryptographic keys. This should be unique per client per app to avoid name conflicts between multiple clients.
database name to use for the exportable key store database.
logger to use for logging messages.
custom KeyManagerInterface implementation. Mainly used for unit testing (optional)
custom identity provider. Mainly used for unit testing (optional).
custom API client. Mainly used for unit testing (optional).
custom credentials provider. Mainly used for unit testing (optional).
custom auth UI. Mainly used for unit testing (optional).
custom ID generator. Mainly used for unit testing (optional).
Constructors
Properties
Checksum's for each file are generated and are used to create a checksum that is used when publishing to maven central. In order to retry a failed publish without needing to change any functionality, we need a way to generate a different checksum for the source code. We can change the value of this property which will generate a different checksum for publishing and allow us to retry. The value of version
doesn't need to be kept up-to-date with the version of the code.
Functions
Clears cached authentication tokens.
De-registers a user.
Deregisters an existing sign in status observer.
Returns the access token cached from the last sign-in.
Returns a credentials provider that can be used for authenticating into various services provided by Sudo Platform.
Returns the ID token cached from the last sign-in.
Returns the refresh token cached from the last sign-in.
Returns the refresh token expiry cached from the last sign-in.
Returns the subject of the user associated with this client. Note: This is an internal method used by other Sudo platform SDKs.
Returns the ID and access token expiry cached from the last sign-in.
Returns the specified claim associated with the user's identity.
Returns the user name associated with this client. The username maybe needed to contact the support team when diagnosing an issue related to a specific user.
Signs out the user from all devices.
Indicates whether or not this client is registered with Sudo Platform backend.
Indicates whether or not this client is signed in with Sudo Platform backend. The client is considered signed in if it cached valid ID and access tokens.
Presents the sign in UI for federated sign in using an external identity provider.
Presents the sign out UI for federated sign in using an external identity provider.
Processes tokens from federated sign in via Android intent data pointed to by the specified URL. The tokens are passed to the app via a redirect URL with custom scheme mapped to the app.
Refresh the access and ID tokens using the refresh token.
Registers an observer for sign in status changes.
Registers this client against the backend with an external authentication provider. Caller must implement AuthenticationProvider protocol to return appropriate authentication token required to authorize the registration request.
Removes all data owned by the signed-in user from Sudo Platform Services without deregistering the user. Should only be used in tests.
Sets the user name associated with this client.
Sign into the backend with an external authentication provider. Caller must implement AuthenticationProvider
protocol to return the appropriate authentication token associated with the external identity registered with registerWithAuthenticationProvider.
Sign into the backend using a private key. The client must have created a private/public key pair via one of the register methods.