---
title: PingOne Worker Application and User Configuration
description: The pingctl utility referenced here has been deprecated and is no longer being maintained. It is recommended to use the Ping CLI utility under active development and support.
component: devops
page_id: devops::reference/pingone-config
canonical_url: https://developer.pingidentity.com/devops/reference/pingone-config.html
section_ids:
  devops-pingone-worker-app-configuration: PingOne Worker Application Configuration
  devops-authorization-code-w-pkce-flow-settings: Authorization Code (w/ PKCE) Flow Settings
  devops-implicit-flow-settings: Implicit Flow Settings
  devops-client-credentials-flow-settings: Client Credentials Flow Settings
  devops-worker-app-roles-settings: Worker App Roles Settings
  devops-pingone-user-config: PingOne User Config
---

# PingOne Worker Application and User Configuration

|   |                                                                                                                                                                                                                                                                                                                                                                                                        |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|   | The `pingctl` utility referenced here has been deprecated and is no longer being maintained. It is recommended to use the [Ping CLI](https://developer.pingidentity.com/pingcli/pingcli_landing_page.html) utility under active development and support.With few exceptions, many `pingctl` commands can be replicated using the `pingcli` utility, with gaps being addressed based on prioritization. |

## PingOne Worker Application Configuration

To manage PingOne resources using credentials other than your own, you are required to have a PingOne Worker App.

There are three options to authenticate to PingOne from pingctl:

* [Authorization Code (w/ PKCE) Flow](#devops-authorization-code-w-pkce-flow-settings) (Recommended and most secure) - Using a PingOne Admin User

* [Implicit Flow](#devops-implicit-flow-settings) - Using a PingOne Admin User

* [Client Credentials Flow](#devops-client-credentials-flow-settings) (Easiest, but most insecure, as a user isn't required)

Additionally, you must set up the proper [roles for your Worker App](#devops-worker-app-roles-settings)

### Authorization Code (w/ PKCE) Flow Settings

The following image shows an example of a Worker App setup for Authorization Code (w/ PKCE) Flow:

> **Collapse: Expand Screenshot**
>
> ![pingone worker app authorization code](../_images/pingone-worker-app-authorization_code.png)

### Implicit Flow Settings

The following image shows an example of a Worker App setup for Implicit Flow:

> **Collapse: Expand Screenshot**
>
> ![pingone worker app implicit](../_images/pingone-worker-app-implicit.png)

### Client Credentials Flow Settings

The following image shows an example of a Worker App setup for Client Credentials Flow:

> **Collapse: Expand Screenshot**
>
> ![pingone worker app client credentials](../_images/pingone-worker-app-client-credentials.png)

### Worker App Roles Settings

The following image shows an example of the minimum roles required. Typically, these are set up by default.

> **Collapse: Expand Screenshot**
>
> ![pingone worker app roles](../_images/pingone-worker-app-roles.png)

## PingOne User Config

When using Authorization Code or Implicit Flows, you must sign on with an Administrative user to use the Worker App.

It is important to add the proper administrative roles to the user. The following image shows an example of this configuration:

> **Collapse: Expand Screenshot**
>
> ![pingone user roles](../_images/pingone-user-roles.png)
