laptop and a wrench

Bug

OAuthenticationManager is not working as expected in ArcGIS Runtime SDK for Xamarin Forms.

Zuletzt veröffentlicht: July 16, 2021 ArcGIS Runtime SDK
Bug-ID-Nummer BUG-000138488
EingereichtMarch 25, 2021
Zuletzt geändertJune 5, 2024
Gilt fürArcGIS Runtime SDK
Gefunden in Version100.10
BetriebssystemWindows OS
Betriebssystemversion10.0 64 Bit
StatusNon-Reproducible

Zusätzliche Informationen

This issue is caused by an incorrect OAuth workflow configuration in the client application code, where two separate workflows have been combined: one intended for authenticating specific users and one intended for authenticating applications.

Workaround

User-based authentication

To support user-based authentication with OAuth, the recommended approach is OAuth Authorization Code. In this case the TokenAuthenticationType must be set to OAuthAuthorizationCode. Refer to ArcGIS Developers: ArcGIS Identity for more information.

Example:

var serverInfo = new ServerInfo(new Uri("https://www.arcgis.com/sharing/rest"))

{

  TokenAuthenticationType = TokenAuthenticationType.OAuthAuthorizationCode,

  OAuthClientInfo = new OAuthClientInfo("...", null)

};

Application-based authentication

  • To support application-based authentication with OAuth, it is necessary to use the Client Credential approach with a client ID and client secret. In this case the TokenAuthenticationType must be set to OAuthClientCredentials. Refer to ArcGIS Developers: Application credentials for more information.

Example: 

var serverInfo = new ServerInfo(new Uri("https://www.arcgis.com/sharing/rest"))

{

  TokenAuthenticationType = TokenAuthenticationType.OAuthClientCredentials,

  OAuthClientInfo = new OAuthClientInfo("...", null, "...")

};

Notes:

  • It is not necessary to issue separate REST requests for tokens, instead the ArcGIS Runtime API supports this process automatically via the AuthenticationManager. 
  • If a manual refresh of the token is required, application code should call OAuthTokenCredential.RefreshAsync().
  • Various properties of the credential can be accessed via API properties on OAuthTokenCredential, such as UserName

Schritte zur Reproduzierung

Bug-ID: BUG-000138488

Software:

  • ArcGIS Runtime SDK

Benachrichtigung erhalten, wenn sich der Status eines Bugs ändert

Esri Support App herunterladen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln