This topic provides an overview of the key concepts and terminology you should be familiar with before implementing authentication in your applications.
Security in ArcGISArcGIS is a secure system that requires authentication to access all secure apps, content, data, and services. It implements industry-standard protocols to ensure that only authorized users and applications can access secure resources.
Some common workflows that use security in ArcGIS are:
This guide is for developers who want to implement authentication in custom applications to access secure resources.
What is authentication?Authentication is the process of verifying the identity of a user or application in ArcGIS. Authentication allows users and applications to access secure resources such as a portal, location services, and other services.
Authorization is the process of verifying client privileges prior to accessing a secure resource. After users and applications successfully authenticate with ArcGIS, the service they are trying to access will authorize the request if they have the appropriate privileges.
TipAs a developer, you need to implement authentication to request authorization to access secure resources.
How authentication worksArcGIS uses token-based authentication for all requests. Authentication works by interacting with a portal service to get an access token. The access token contains information that determines the privileges of the application as well as the associated ArcGIS account. Once obtained, the access token is included in requests to provide authorization for secure resources.
The general process of authentication includes the following:
Below is a sample HTTP request to access a secure resource in ArcGIS with an access token.
Use dark colors for code blocks Copy
1
https://<SERVICE_URL>?token=<YOUR_ACCESS_TOKEN>
An overview of how authentication works in ArcGIS Types of authentication
ArcGIS supports three types of authentication to get an access token. Each type requires following a specific workflow and supports the development of a specific type of application.
Authentication comparisonThe following table provides an overview of the functionality available with each type of authentication:
API key authentication User authentication App authentication ArcGIS Location Services 1 1 1 Data services (Item access) Spatial analysis services 1 1 Portal service (General privileges) Portal service (Admin privileges) Full support Partial support No support TopicTo learn more about the different types of authentication, go to Types of authentication.
TerminologyThis section contains important terminology you should be familiar with before implementing authentication in your apps.
ArcGIS accountsYou need an ArcGIS account to implement authentication in custom applications. The following table shows the supported types of authentication for each type of account:
ArcGIS Location Platform account ArcGIS Online account ArcGIS Enterprise account API key authentication 1 2 User authentication App authentication 1 2 Full support Partial support No supportIf you are using an ArcGIS Online or an ArcGIS Enterprise account, your account must have certain privileges enabled to create developer credentials with privileges and item access. To learn more, go to the FAQ.
ArcGIS accounts:If you don't have an account, go to Get started.
Public applicationsA public application is an application developers create that does not require users to sign in with an ArcGIS account.
Public applications typically implement API key authentication or app authentication to authenticate requests to secure resources without prompting users to sign in. Usage costs for accessing secure resources in a public application are billed to the developer's account. Developers with an ArcGIS Online or ArcGIS Enterprise account can choose to omit authentication in public apps if the application only accesses resources with a sharing level set to Everyone (public).
TopicTo learn how to build public applications, go to API key authentication or App authentication.
Private applicationsA private application is an application developers create that requires users to sign in with an ArcGIS account. Private applications implement user authentication and are typically built by ArcGIS Online or Enterprise developers for members of an organization. Usage costs for accessing secure resources in a private application are billed to the accounts of users.
TopicTo learn how to build private applications, go to User authentication.
Developer credentialsDeveloper credentials are a type of item in a portal that contains the necessary properties for authentication. You can create and manage developer credentials in your portal to support all types of authentication. In most cases, a developer credential is created for every application you create.
You can use developer credentials to:
To learn more about developer credentials, go to API key credentials, OAuth credentials (for user authentication), and OAuth credentials (for app authentication).
PrivilegesA privilege is a set of permissions that grant access to secure resources and functionality in ArcGIS. You use privileges to define the capabilities of a user account or developer credentials for a custom application.
Privileges can be applied to ArcGIS accounts and developer credentials:
To learn more, go to Privileges.
Access tokensAn access token is an authorization string that provides access to secure ArcGIS resources. It can be used to access resources such as ArcGIS services or items in a portal. To get an access token, you need to implement a type of authentication. The access token's capabilities are determined by the privileges associated with it.
Example of an access token:
Use dark colors for code blocks Copy
1
AAPTKUgfudpnh_cXrZ7wRiqGE4q0VCQENKpafTPqVh27cldNPiqORWEyVueCmI67s3ebSNEYl0Sn3IitIyf18X8PxF3N8m9ZE30i5iwGHtGfnv6-DoKA-C8-lJ9GM30s-Wxn75jLBdnQnMjIgwVXEjIoualIMSfk4IWraDv3GMV8XP3fAUA73P23Vfs-THx2QjfDNVD3iuGCqLG0udK_TVLchskcBFVbsj1PRWXGcFaKKzdPkwWMXps_4P_cZEBAZdImAT1_L1aY2CIy
Topic
To learn more, go to Access tokens.
PortalAn ArcGIS portal is a website with applications, tools, and functionality for creating and sharing geospatial content and data. A portal plays a key role in supporting authentication. It has built in security functionality to control access to sensitive data, manage users, and protect your organization. It also provides important tools for developers that allow them to create developer credentials required to build custom applications.
The portal supports the following security features:
Additionally, a portal's underlying portal service is responsible for granting access tokens for Authentication.
TopicTo learn more about the security features of a portal, go to Portal security.
Secure resourcesThe following resources are secure and require authentication to access:
Portal: A portal is secure and requires users and applications to sign in. The underlying portal service is also secure and requires authentication to access.
Secure items: All content items in a portal are secure and may require authentication depending on their sharing level. Items can also be shared with specific groups in an organization.
ArcGIS services: All ArcGIS services hosted in Esri's infrastructure are secure, including location services, spatial analysis services, data services, and the portal service.
ArcGIS Enterprise services: All ArcGIS Enterprise services hosted in your own infrastructure are secure.
Low/No-code applications: Applications built using low/no-code builders are hosted in a portal and secure and may require authentication depending on their sharing level.
ArcGIS tools: All ArcGIS tools are secure, such as ArcGIS Pro, Map Viewer, Scene Viewer.
Subscriber and premium content: Subscriber content is a type of secure item hosted in ArcGIS Living Atlas that requires an ArcGIS Online account. Premium content is a subtype of subscriber content that consumes credits.
To learn more about a portal and item sharing levels, go to Item sharing.
Mapping and location services guideTo learn more about location services, go to the guide.
Tutorials Create an API keyCreate and configure API key credentials to get a long-lived API key access token.
Create and configure OAuth credentials to set up user authentication.
Create and configure OAuth credentials to set up app authentication.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4