Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ If you're an integrator, from an independent software vendor (ISV) or an existin

## Submission process

Okta introduced a seamless experience to submit Single Sign-On (SSO), provisioning, Entitlement Management, Universal Logout (UL), and API service integrations for OIN publication. This experience enables you to build and test your integration before submission directly from the Admin Console with the [OIN Wizard](/docs/guides/submit-oin-app/). This reduces the tools that you need to build, test, and submit your integration. It also reduces the time needed for the OIN team to review and validate your integration, which shortens the time to publish in the OIN.
Okta introduced a seamless experience to submit Single Sign-On (SSO), provisioning, Entitlement Management, Universal Logout (UL), API service, and Identity Verification (IDV) integrations for OIN publication. This experience enables you to build and test your integration before submission directly from the Admin Console with the [OIN Wizard](/docs/guides/submit-oin-app/). This reduces the tools that you need to build, test, and submit your integration. It also reduces the time needed for the OIN team to review and validate your integration, which shortens the time to publish in the OIN.

You can also submit updates to a previously published integration in the OIN Wizard.

Expand All @@ -29,7 +29,7 @@ Before you submit your integration, in either the OIN Wizard or OIN Manager, rev

Consider the following questions to help you choose which pathway to use for submission:

* Are you submitting a new or published SSO, provisioning, Entitlement Management, UL, or API service integrations?
* Are you submitting a new or published SSO, provisioning, Entitlement Management, UL, API service, and Identity Verification (IDV) integrations?
* [Use the OIN Wizard](#submission-process-for-sso-and-scim-integrations).
> **Note:** Published SSO or SCIM integrations that were submitted through the OIN Manager have been moved to the OIN Wizard and appear in the **Your OIN Integrations** dashboard.
* Are you submitting a new or published Workflows integration?
Expand All @@ -39,9 +39,9 @@ Submit your integration to Okta and work with the OIN team as they test and revi

The Okta OIN team reviews and prioritizes all submissions.

### Submission process for SSO, SCIM provisioning, and API service integrations
### Submission process for SSO, SCIM provisioning, API service, and Identity Verification integrations

The following steps outline the process for submitting SSO, SCIM provisioning, Entitlement Management, UL, and API service integrations.
The following steps outline the process for submitting SSO, SCIM provisioning, Entitlement Management, UL, API service, and Identity Verification (IDV) integrations.

1. Build the integration in your app.
1. Sign in to the Admin Console of your Integrator Free Plan org.
Expand Down Expand Up @@ -186,4 +186,6 @@ Ready to make your integration public? Submit an integration with the following

<Card href="/docs/guides/submit-oin-app/wfactions/main/" headerImage="/img/icons/identicon-actions-2.svg" cardTitle="API Integration Actions" :showFooter=false>Submit an integration with API Integration Actions</Card>

<Card href="/docs/guides/submit-oin-app/xidv/main/" headerImage="/img/icons/customer_identity.svg" cardTitle="Identity Verification" :showFooter=false>Submit an integration with Identity Verification</Card>

</Cards>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ meta:
layout: Guides
---

Learn how to submit an integration with SSO, Universal Logout, provisioning, entitlement management, or API service capabilities to the Okta Integration Network (OIN) using the OIN Wizard.
Learn how to submit an integration with SSO, Universal Logout, provisioning, entitlement management, API service, or Identity Verification (IDV) capabilities to the Okta Integration Network (OIN) using the OIN Wizard.

---

Expand Down Expand Up @@ -59,38 +59,10 @@ Start your integration submission for OIN publication:

Configure your OIN catalog properties:

#### OIN catalog properties
<StackSnippet snippet="catalog-properties"/>

1. In the **OIN catalog properties** section, specify the following OIN catalog information:
<StackSnippet snippet="tenant-settings"/>

| <div style="width:150px">Property</div>| Description |
| ----------------- | ------------ |
| **Display name** `*` | Provide a name for your integration. This is the main title used for your integration in the OIN.<br>The maximum field length is 64 characters. |
| **Description** `*` | Give a general description of your app and the benefits of this integration to your customers. See [App description guidelines](/docs/guides/submit-app-prereq/main/#app-description-guidelines). |
| **Logo** `*` | Upload a PNG, JPG, or GIF file of a logo to accompany your integration in the catalog. The logo file must be less than one MB. See [Logo guidelines](/docs/guides/submit-app-prereq/main/#logo-guidelines). |
| **Use Cases** | Add optional use case categories that apply to your integration:<br><ul><li>Automation</li> <li>Centralized Logging</li> <li>Directory and HR Sync</li> <li>Identity Governance and Administration (IGA)</li> <li>Identity Verification</li> <li>Multifactor Authentication (MFA)</li> <li>Zero Trust</li></ul>You can select up to three optional use cases. Default use cases are assigned to your integration based on supported features. See [Use case guidelines](/docs/guides/submit-app-prereq/main/#use-case-guidelines). |

`*` Required properties

#### Tenant settings

Configure integration variables if your URLs are dynamic for each tenant. The variables are for your customer admins to add their specific tenant setting values during installation. See [Dynamic properties with Okta Expression Language](#dynamic-properties-with-okta-expression-language).

2. In the **Tenant settings** section, specify the name and label for each tenant setting variable:

| <div style="width:100px">Property</div> | Description |
| --------------- | ------------ |
| **Label** `*` | The tenant setting label that's displayed when admins install your app integration. For example: `Subdomain` or `Tenant name` |
| **Name** `*` | Specify the tenant setting variable name. This variable name is used to construct dynamic URLs or other app properties that are dependent on the tenant. It's hidden from admins and is only used to pass tenant details to your external app.<br>String is the only variable type supported.<br>**Note:** Use alphanumeric lowercase and underscore characters for the variable name field. The first character must be a letter and the maximum field length is 1024 characters. For example: `subdomain_div1` |

`*` This section is optional, but if you specify a variable, both `Label` and `Name` properties are required.

1. Click **+ Add another** to add another variable. You can add up to eight variables.

> **Note:** Apps that are migrated from the OIN Manager and that have more than eight variables can retain those variables, but you can't add new ones. However, you can update or delete the existing variables.

1. If you need to delete a variable, click the delete icon (![trash can; delete icon](/img/icons/odyssey/delete.svg)) next to it.
<!--Odyssey icons sourced from: https://github.com/okta/odyssey/blob/main/packages/odyssey-icons/src/figma.generated/ -->

<StackSnippet snippet="auth-settings"/>

Expand Down Expand Up @@ -118,15 +90,9 @@ Configure your integration settings. Settings appear based on your capability se

2. Click **Get started with testing** to save your edits and move to the **Test your integration** section, where you need to [enter test information](#enter-test-information) for your integration.

#### Dynamic properties with Okta Expression Language

The OIN Wizard supports [Okta Expression Language](/docs/reference/okta-expression-language/#reference-user-attributes) to generate dynamic properties, such as URLs or URIs, based on your customer tenant. You can specify dynamic strings for your <StackSnippet snippet="protocol-name" inline/> properties in the OIN Wizard:
<StackSnippet snippet="dynamic-properties"/>

1. Add your [tenant settings](#tenant-settings) in the OIN Wizard. These settings become fields for customer admins to enter during your OIN integration installation to identify their tenant.

2. Use the tenant setting variables with Expression Language format in your integration properties for dynamic values based on customer information.

<StackSnippet snippet="variable-desc" />
<StackSnippet snippet="variable-desc"/>

### Enter test information

Expand Down Expand Up @@ -209,16 +175,13 @@ The Integrator Free Plan org has no limit on active instances. You can create as
> **Note:** The steps in this section are for generating one instance to test the **<StackSnippet snippet="protocol-name" inline/>**. <br>
> If you want to change the instructions that you see on this page, select a different option from the **Instructions for** dropdown list.

<StackSnippet snippet="test-instance" />
<StackSnippet snippet="test-instance"/>

<StackSnippet snippet="assign-test" />
<StackSnippet snippet="assign-test"/>

### Required app instances

The **Required app instances** box shows you the instances detected in your org that are available to test your integration. It also shows you the test instances required for the OIN Submission Tester based on your selected protocols:

* The **CURRENT VERSION** status indicates the instances that you need to test your current integration submission.
* The **PUBLISHED VERSION** status indicates the instances that you need to test backwards compatibility if you edit a previously published integration. See [Update a published integration with the OIN Wizard](/docs/guides/update-oin-app/).
<StackSnippet snippet="req-app-instance"/>

### Application instances for testing

Expand All @@ -228,7 +191,7 @@ The **Application instances for testing** section displays, by default, the inst

An instance is eligible if it was generated from the latest version of the integration submission in the OIN Wizard. An instance is ineligible if it was generated from a previous version of the integration submission and you later made edits to the submission. This is to ensure that you test your integration based on the latest submission details.

If you modify a published OIN integration, you must generate an instance based on the currently published integration for backward compatibility testing. A backward-compatible instance is eligible if it was generated from the published version of the integration before any edits are made in the current submission. The OIN Wizard detects if you're modifying a published OIN integration and asks you to generate a backward-compatible instance before you make any edits.
<StackSnippet snippet="test-back-comp" />

> **Note:** The Integrator Free Plan org has no limit on active instances. You can create as many test instances as needed for your integration. To deactivate any instances you no longer need, see [Deactivate an app instance in your org](#deactivate-an-app-instance-in-your-org).

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#### OIN catalog properties

1. In the **OIN catalog properties** section, specify the following OIN catalog information:

| <div style="width:150px">Property</div>| Description |
| ----------------- | ------------ |
| **Display name** `*` | Provide a name for your integration. This is the main title used for your integration in the OIN.<br>The maximum field length is 64 characters. |
| **Description** `*` | Give a general description of your app and the benefits of this integration to your customers. See [App description guidelines](/docs/guides/submit-app-prereq/main/#app-description-guidelines). |
| **Logo** `*` | Upload a PNG, JPG, or GIF file of a logo to accompany your integration in the catalog. The logo file must be less than one MB. See [Logo guidelines](/docs/guides/submit-app-prereq/main/#logo-guidelines). |
| **Use Cases** | Add optional use case categories that apply to your integration:<br><ul><li>Automation</li> <li>Centralized Logging</li> <li>Directory and HR Sync</li> <li>Identity Governance and Administration (IGA)</li> <li>Identity Verification</li> <li>Multifactor Authentication (MFA)</li> <li>Zero Trust</li></ul>You can select up to three optional use cases. Default use cases are assigned to your integration based on supported features. See [Use case guidelines](/docs/guides/submit-app-prereq/main/#use-case-guidelines). |

`*` Required properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#### Dynamic properties with Okta Expression Language

The OIN Wizard supports [Okta Expression Language](/docs/reference/okta-expression-language/#reference-user-attributes) to generate dynamic properties, such as URLs or URIs, based on your customer tenant. You can specify dynamic strings for your <StackSnippet snippet="protocol-name" inline/> properties in the OIN Wizard:

1. Add your [tenant settings](#tenant-settings) in the OIN Wizard. These settings become fields for customer admins to enter during your OIN integration installation to identify their tenant.

2. Use the tenant setting variables with Expression Language format in your integration properties for dynamic values based on customer information.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

The **Required app instances** box shows you the instances detected in your org that are available to test your integration. It also shows you the test instances required for the OIN Submission Tester based on your selected protocols:

* The **CURRENT VERSION** status indicates the instances that you need to test your current integration submission.
* The **PUBLISHED VERSION** status indicates the instances that you need to test backwards compatibility if you edit a previously published integration. See [Update a published integration with the OIN Wizard](/docs/guides/update-oin-app/).
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#### Tenant settings

Configure integration variables if your URLs are dynamic for each tenant. The variables are for your customer admins to add their specific tenant setting values during installation. See [Dynamic properties with Okta Expression Language](#dynamic-properties-with-okta-expression-language).

2. In the **Tenant settings** section, specify the name and label for each tenant setting variable:

| <div style="width:100px">Property</div> | Description |
| --------------- | ------------ |
| **Label** `*` | The tenant setting label that's displayed when admins install your app integration. For example: `Subdomain` or `Tenant name` |
| **Name** `*` | Specify the tenant setting variable name. This variable name is used to construct dynamic URLs or other app properties that are dependent on the tenant. It's hidden from admins and is only used to pass tenant details to your external app.<br>String is the only variable type supported.<br>**Note:** Use alphanumeric lowercase and underscore characters for the variable name field. The first character must be a letter and the maximum field length is 1024 characters. For example: `subdomain_div1` |

`*` This section is optional, but if you specify a variable, both `Label` and `Name` properties are required.

1. Click **+ Add another** to add another variable. You can add up to eight variables.

> **Note:** Apps that are migrated from the OIN Manager and that have more than eight variables can retain those variables, but you can't add new ones. However, you can update or delete the existing variables.

1. If you need to delete a variable, click the delete icon (![trash can; delete icon](/img/icons/odyssey/delete.svg)) next to it.

<!--Odyssey icons sourced from: https://github.com/okta/odyssey/blob/main/packages/odyssey-icons/src/figma.generated/ -->
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
If you modify a published OIN integration, you must generate an instance based on the currently published integration for backward compatibility testing. A backward-compatible instance is eligible if it was generated from the published version of the integration before any edits are made in the current submission. The OIN Wizard detects if you're modifying a published OIN integration and asks you to generate a backward-compatible instance before you make any edits.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#### OIN catalog properties

1. In the **OIN catalog properties** section, specify the following OIN catalog information:

| <div style="width:150px">Property</div>| Description |
| ----------------- | ------------ |
| **Display name** `*` | Provide a name for your integration. This is the main title used for your integration in the OIN.<br>The maximum field length is 64 characters. |
| **Description** `*` | Give a general description of your app and the benefits of this integration to your customers. See [App description guidelines](/docs/guides/submit-app-prereq/main/#app-description-guidelines). |
| **Logo** `*` | Upload a PNG, JPG, or GIF file of a logo to accompany your integration in the catalog. The logo file must be less than one MB. See [Logo guidelines](/docs/guides/submit-app-prereq/main/#logo-guidelines). |
| **Use Cases** | Add optional use case categories that apply to your integration:<br><ul><li>Automation</li> <li>Centralized Logging</li> <li>Directory and HR Sync</li> <li>Identity Governance and Administration (IGA)</li> <li>Identity Verification</li> <li>Multifactor Authentication (MFA)</li> <li>Zero Trust</li></ul>You can select up to three optional use cases. Default use cases are assigned to your integration based on supported features. See [Use case guidelines](/docs/guides/submit-app-prereq/main/#use-case-guidelines). |

`*` Required properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#### Dynamic properties with Okta Expression Language

The OIN Wizard supports [Okta Expression Language](/docs/reference/okta-expression-language/#reference-user-attributes) to generate dynamic properties, such as URLs or URIs, based on your customer tenant. You can specify dynamic strings for your <StackSnippet snippet="protocol-name" inline/> properties in the OIN Wizard:

1. Add your [tenant settings](#tenant-settings) in the OIN Wizard. These settings become fields for customer admins to enter during your OIN integration installation to identify their tenant.

2. Use the tenant setting variables with Expression Language format in your integration properties for dynamic values based on customer information.
Loading