Learn how to create OAuth credentials with ArcGIS Online to support app authentication.
OAuth credentials are an item required to implement app authentication. They contain client and client parameters that are used to implement an OAuth 2.0 client credentials flow. The item page of OAuth credentials allows you to manage settings related to app authentication, including the authorized privileges of an application.
This tutorial shows you how to create OAuth credentials for use in app authentication and do the following:
- Configure privileges to allow your application to access ArcGIS services, content, and functionality.
- Set authorized referrer URLs.
- Manage settings of the OAuth credentials and monitor usage using its item page.
This tutorial focuses on creating OAuth 2.0 credentials for a private application with selected privileges and access.
Prerequisites
-
You need an ArcGIS Online account with the correct user type and role. Please review the Product and account requirements before proceeding.
-
You need to know the privileges required by your application. The privileges assigned to developer credentials allow your application to access ArcGIS services and resources.
Steps
Sign in to your portal
You use your portal to create and manage items, including OAuth credentials.
- Sign in to your portal with your ArcGIS Online account.
Create a new item
-
In your portal, click Content > My content > New item.
-
Click Developer credentials.
-
In the credential type screen, select OAuth 2.0 credentials and click Next.
Need troubleshooting help?
If the Developer credentials option is not visible when creating a new item, your ArcGIS Online account does not have the correct permissions. You need an ArcGIS account with a user type of Creator or higher. Learn more about user types in the ArcGIS Online documentation.
If the Select credential type menu does not display when creating developer credentials, OAuth 2.0 credentials will still be created by default. This menu only displays if your account has privileges to create multiple types of developer credentials, such as API key credentials.
Select application type
You can configure your OAuth 2.0 credentials in the Where will you use these credentials? menu to define how your credentials will be used. This setting restricts where and how the credentials can be used and helps prevent unauthorized access to secure services.
-
For this tutorial, select Private application with selected privileges and access.
-
Click Next.
Select items (optional)
If your application will require access to specific private items, you will need to configure your developer credentials to access them. The Item access menu allows you to browse your portal's content and grant your developer credentials access to specific items.
-
If your token does not require item access, select No item access. Then, click Next.
-
Otherwise, select Grant access to specific items.
-
Select the items you want to grant access to. You can select up to 100 items in this menu.
-
Click Next.
Select privileges
You can configure the settings of OAuth 2.0 credentials to configure the privileges of access tokens granted via app authentication. For an access token to work in your application, it needs to have the correct privileges to access the content and services your app is using. Select the privileges your app requires in this menu.
-
In the Create developer credentials > Privileges window, browse the available privileges.
-
Browse the table below to view all available privileges, privilege strings, and descriptions for ArcGIS Online:
-
Select the privileges required by your application and click Next.
Need troubleshooting help?
If the Privileges window is not visible when creating API key credentials, your ArcGIS Online account does not have the correct permissions. You need an ArcGIS account with a user type of Creator or higher. Your account must also have these additional privileges:
- General privileges > Content > Generate API keys
- General privileges > Content > Assign privileges to OAuth 2.0 applications
Your organization administrator can grant you these privileges using a custom role. To learn how, go to the ArcGIS Online documentation.
If you don't see a specific privilege in the Privileges window, there are several possible reasons:
- The application type you selected may only allow a limited set of privileges. To access a broader set of privileges, choose a different type of application in the Where will you use these credentials? menu.
- Certain location services are only available for ArcGIS Location Platform. Check the privileges available for your product type in Security and authentication > Privileges.
- If you have an ArcGIS Location Platform account, you need to enable pay-as-you-go in the Billing section of your dashboard to access some services, such as the GeoEnrichment service.
- If you have an ArcGIS Online account, your account may not have the correct role to access the services you need. Contact your organization administrator.
Set referrer URLs
You can set referrer URLs on OAuth credentials that restrict the credentials to only be usable from authorized domains. This is highly recommended for security purposes.
-
In the next window, scroll down to Referrer URLs.
-
Set the Referrers field to the web domains you would like to restrict the access token to. To learn more about referrers, go to OAuth credentials (for app authentication).
-
Click Next.
Save the item
After configuring the properties of your OAuth credentials, you can save the credentials as a new item.
-
In the Create developer credentials window, set the following properties:
- Title:
My OAuth credentials (for app authentication) - Folder:
Developer credentials(Create a new folder) - Tags: Add tags related to the privileges of the credentials.
- Description: Describe the application that these developer credentials will be used in.
Click Next.
- Title:
-
In the Summary window, review the properties, privileges, and item access you have set.
-
Click Create to create your OAuth credentials.
Copy the client ID and client secret
Your OAuth credentials contain client and client parameters that are required to implement app authentication. Copy these values and paste them into your application or script.
-
On the item page of your OAuth credentials, scroll down to Credentials.
-
Copy the Client ID and Client Secret values and paste them into your application. Never expose the value of your client secret.
Manage your credentials
After creating an OAuth credentials item, its privileges and item access can be managed at any time by going to the item page.
To learn more and see management steps, go to OAuth credentials (for app authentication).
Additional resources
Learn more about app authentication in the following topics: