The Authentication Manager is a singleton class that, when enabled, will manage the user credentials for the following resources:
- ArcGIS Server resources secured using token-based authentication or using HTTP authentication. Note that only ArcGIS Server versions 10 SP 1 and greater are supported.
- Secured ArcGIS.com resources (e.g. web maps).
- Secured ArcGIS Portal resources.
If a request to an ArcGIS resource returns an authorization error, the ChallengeHandler, if not
null, is called.
This challenge handler can return the credential for accessing to the resource.
If the ChallengeHandler is
null or if it doesn't return any credential, the Authorization error is returned to the caller as if the request was executed out of the AuthenticationManager.
public sealed class AuthenticationManager
Most generally the ChallengeHandler displays the UI allowing the user to enter the username/password for accessing the resource. Unlike for WinStore application, the API doesn't provide any default UI for Desktop. However, a default challenge handler is set for managing the access though OAuth when the OAuthAuthorizeHandler is set.
Gets or sets the component that handles the authorization errors in order to get a valid credential object.
Gets the credentials registered by the Authentication Manager.
Gets the single AuthenticationManager instance. This is the only way to get an IdentifyManager instance.
Gets or sets the component sets the component that handles authorization by a resource owner in an oauth workflow.
Gets or sets the CredentialPersistence.
Gets the registered servers.
Gets or sets the default suggested expiration interval (lifetime) of all tokens.
Adds a new Credential that the AuthenticationManager will use for accessing the resources.
Adds a set of new Credential that the AuthenticationManager will use for accessing resources.
Returns the token credential for the resource identified by the specified url.
Returns the credential that supports the specified authentication type for the resource identified by the specified url.
Returns information about the server that is hosting at the specified url.
Generates a token credential object asynchronously. You need to provide the service URL. This is a helper method typically called by the UI challenging the user.
|GenerateCredentialAsync(Uri, String, String, GenerateTokenOptions)||
Generates a token credential object asynchronously. You need to provide the service URI, the username and the password. This is a helper method typically called by the UI challenging the user.
Returns a Credential object of the specified type (credentialRequestInfo.AuthenticationType) that can be used to access the secured resource identified by the input url (credentialRequestInfo.Url). If required, the challenge method will be called and should return the expected credential object. If case of Token AuthenticationType, the user is typically challenged for a username and password which are used to generate a token. This method is typically called internally when a request fails due to an "invalid credentials" error.
Register secure servers and the token endpoints. The Authentication Manager makes its best guess to determine the location of the secure server and token endpoint so in most cases calling registerServers is not necessary. However if the location of your server or token endpoint is non-standard use this method to register the location. Additionally if portal uses the OAuth authentication, it needs to be registered by this method.
Removes all stored credentials so the challenge handler will be called the next time access to a secured resource is needed.
Removes all credentials from the cache and revokes tokens if appropriate.
Removes the given credential from the cache and revokes its token if appropriate.
Removes an existing credential so the challenge handler will be called the next time an access to the resources is needed.
|.NET Standard 2.0||100.12.0, 100.11.0, 100.10.0, 100.9.0, 100.8.0, 100.7.0, 100.6.0, 100.5.0, 100.4.0, 100.3.0|
|.NET Framework||100.12.0, 100.11.0, 100.10.0, 100.9.0, 100.8.0, 100.7.0, 100.6.0, 100.5.0, 100.4.0, 100.3.0, 100.2.1, 100.1.0, 100.0.0|
|.NET 5||100.12.0, 100.11.0, 100.10.0|
|.NET Core||100.12.0, 100.11.0, 100.10.0, 100.9.0, 100.8.0, 100.7.0|
|Xamarin.Android||100.12.0, 100.11.0, 100.10.0, 100.9.0, 100.8.0, 100.7.0, 100.6.0, 100.5.0, 100.4.0, 100.3.0, 100.2.1, 100.1.0, 100.0.0|
|Xamarin.iOS||100.12.0, 100.11.0, 100.10.0, 100.9.0, 100.8.0, 100.7.0, 100.6.0, 100.5.0, 100.4.0, 100.3.0, 100.2.1, 100.1.0, 100.0.0|