From 568173dd59b0b9db04dfeb59bbb2c01551f611c1 Mon Sep 17 00:00:00 2001 From: Toni Allen Date: Mon, 25 Apr 2022 11:54:18 -0400 Subject: [PATCH 1/6] Updated content (titles, sections, etc.). --- README.md | 8 +- .../images/Messenger_Okta_Integration.png | Bin 73610 -> 70110 bytes blueprint/index-draft | 136 ++++++++---------- 3 files changed, 65 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 62f0be7..1bf9f31 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ -# OKTA Integration with Messenger for SSO configuration (DRAFT) +# OKTA Integration with Messenger for SSO configuration -> View the full [OKTA Integration with Messenger on Genesys Cloud Blueprint](https://developer.mypurecloud.com/blueprints/messenger-authentication-okta-integration-blueprint/index) article on the Genesys Cloud Developer Center. +This Genesys Cloud Developer blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and steps to set up an OKTA account for authorization credentials. -![Flowchart](./blueprint/images/Messenger_Okta_Integration.png "Integrate Messenger with OKTA - Identity Provider") - -This Genesys Cloud Developer Blueprint provides instructions to integrate web messenger with OKTA to perform SSO integration. The blueprint also contains steps for setting up an OKTA account to get authorization credentials. +![Integrate Messenger with OKTA - Identity Provider](blueprint/images/Messenger_Okta_Integration.png "Integrate Messenger with OKTA - Identity Provider") diff --git a/blueprint/images/Messenger_Okta_Integration.png b/blueprint/images/Messenger_Okta_Integration.png index 2d097ea186c69e01ad89e9abdcfad87ba84ad234..c466338be2188ccc37908ec1939c323da0d0c155 100644 GIT binary patch literal 70110 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%0AEb4?V7pys;5EMdw~ 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 diff --git a/blueprint/index-draft b/blueprint/index-draft index 6f1fab2..5235f72 100644 --- a/blueprint/index-draft +++ b/blueprint/index-draft @@ -1,141 +1,128 @@ --- title: OKTA Integration with Messenger for SSO configuration +author: rekha.mahalingam indextype: blueprint icon: blueprint image: images/Messenger_Okta_Integration.png category: 6 summary: | - This Genesys Cloud Developer Blueprint provides instructions to integrate web messenger with OKTA to perform SSO integration. The blueprint also contains steps for setting up an OKTA account to get authorization credentials. +This Genesys Cloud Developer blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and steps to set up an OKTA account for authorization credentials. --- -This Genesys Cloud Developer Blueprint provides instructions to integrate web messenger with OKTA to perform SSO integration. The blueprint also contains steps for setting up an OKTA account to get authorization credentials. + This Genesys Cloud Developer blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and steps to set up an OKTA account for authorization credentials. -![Flowchart](./images/Messenger_Okta_Integration.png "Integrate Messenger with OKTA - Identity Provider") +![Integrate Messenger with OKTA - Identity Provider](./images/Messenger_Okta_Integration.png "Integrate Messenger with OKTA - Identity Provider") -## Purpose +## Scenario This page explains the steps that the users should follow to **Integrate Messenger** with the **Identity Provider-OKTA** via Genesys Cloud. -## Contents - -- Solution components -- Prerequisites -- Implementation steps - ## Solution components **Genesys Cloud** - A suite of Genesys cloud services for enterprise-grade communications, collaboration, and contact center management. In this solution, a Genesys Cloud user account is required for your application to be authorized to integrate with Messenger. ## Prerequisites -## Specialized knowledge +### Specialized knowledge Administrator-level knowledge of Genesys Cloud -## Genesys Cloud account - -- A Genesys Cloud license. For more information on licensing, see [Genesys Cloud Pricing](https://www.genesys.com/pricing). -- The Master Admin role in Genesys Cloud. For more information, see [Roles and permissions overview](https://help.mypurecloud.com/articles/about-roles-permissions/) in the Genesys Cloud Resource Center. +### Genesys Cloud account -## OKTA Developer account +- A Genesys Cloud license. For more information on licensing, see [Genesys Cloud Pricing](https://www.genesys.com/pricing "Goes to the Genesys CLoud pricing page") in the Genesys Cloud website. +- The Master Admin role in Genesys Cloud. For more information, see [Roles and permissions overview](https://help.mypurecloud.com/articles/about-roles-permissions/ "Goes to the Roles and permissions overview article") in the Genesys Cloud Resource Center. -- An OKTA developer account. To create an OKTA developer account, refer [this](https://developer.okta.com/signup/) link. +### OKTA Developer account -## Implementation Steps +- An OKTA developer account. For more information on how to create an OKTA developer account see, [okta Developer](https://developer.okta.com/signup/ "Goes to the okta Developer page") on the okta Developer website. -Follow these instructions to integrate OKTA with Messenger. +## Implementation steps -- [OKTA Set up](#okta-set-up "Goes to the OKTA Set up section") -- [Configure Genesys Cloud](#configure-genesys-cloud "Goes to Configure Genesys Cloud") - - [Genesys Cloud Integration](#integration "Goes to Genesys Cloud Integration") - - [Messenger Configuration](#messenger-configuration "Goes to Messenger Configuration") - - [Messenger Deployment](#messenger-deployment "Goes to Messenger Deployment") -- [Configure authenticated messenger](#configure-authenticated-messenger "Goes to Auth Provider set up") - -## OKTA Set-Up +### OKTA Set-Up 1. Login to your **OKTA** developer account. -2. In the left panel, select **Applications > Applications**. +2. From the left navigation panel, select **Applications > Applications**. 3. Click **Create App Integration**. ![OKTA Application](./images/Application.png "OKTA Application page") -4. On the Create a new app integration page, select OpenID Connect in the Sign-in method section. -5. Choose, **Web Application** in Application Type and click next. -6. In the **New web app Integration page**, fill the following: - - In **App integration name**, enter a name for your app integration or leave it as default. +4. Go to the Create a new app integration page, select OpenID Connect in the Sign-in method section. +5. From the Application Type, select **Web Application** and click next. +6. From the **New web app Integration** page, complete the following: + - Enter an **App integration name** or leave it as default. - Select the required **Grant type**. - - Fill **Sign-in redirect URIs**. For local development use - http://{local_domain_name}. Example: http://localhost:8080/. *Note: Using localhost is just a way to test locally. This has to be the actual URL where messenger will initialize after login* - - Similarly, fill **Sign-out redirect URIs**(http://{local_domain_name}). -7. Add your web page origin in OKTA account under Security --> API --> Trusted origins. + - Complete the **Sign-in redirect URIs**. For local development use - http://{local_domain_name}. Example: http://localhost:8080/. *Note: Using localhost is a way to test locally. This has to be the actual URL where Messenger initializes after login* + - Complete the **Sign-out redirect URIs**(http://{local_domain_name}). +7. TO add an origin in the Admin Console, go to Security --> API --> Trusted origins. ![OKTA Application](./images/OKTA.png "OKTA Application page") -8. In **Assignment** section, select option which best suites your organization and click Save. This creates the client credentials. -9. Okta URL can be found by navigating to Security --> API. Click default, Okta URL will be present at the **Issuer** section. -10. Store the Client credentials safely for using it in [Integration](#integration "Goes to Integration") and note the Okta URL for using it during logging into Messenger. +8. Select an option from the **Assignment** section and click Save. This creates the client credentials. +9. Click default. This produces the Okta URL in the **Issuer** section. The Okta URL is found by navigating to Security --> API. +10. Store the Client credentials for [Integration](#integration "Goes to Integration") and the Okta URL for logging into Messenger. -Now you are ready with **OKTA** set-up. +**OKTA** is successfully set-up. -## Configure Genesys Cloud +### Configure Genesys Cloud -To enable communication from **Genesys Cloud** to **Messenger** you must make changes in, +You must make the following changes to enable communication from **Genesys Cloud** to **Messenger**: 1. Integration 2. Messenger Configuration 3. Messenger Deployment -Login to Genesys Cloud account with your **Organization** and click **Admin** tab. +Login to the Genesys Cloud account within your **Organization** and click the **Admin** tab. ![Admin Tab](./images/Admin.png "Genesys Cloud page") -## Integration -1. In **Genesys Cloud > Admin > Integrations**, click **+Integrations** button are the right corner. +### Integration + +1. In the **Genesys Cloud > Admin > Integrations** console, click the **+Integrations** button. ![Genesys Cloud Integration page](./images/Install_Integration.png "Genesys Cloud Integration page") 2. Install **OpenID Connect Messenger Configuration**. - ![Genesys Cloud Integration page](./images/integration.png "Genesys Cloud Integration page") + ![OpenID Connect Messenger Configuration install](./images/integration.png "OpenID Connect Messenger Configuration install") -3. In **Configuration** section, place the Discovery Uri - https:///oauth2/default/.well-known/openid-configuration. +3. In the **Configuration** section, place the Discovery Uri - https:///oauth2/default/.well-known/openid-configuration. - ![Genesys Cloud Integration page](./images/Integration_properties.png "Genesys Cloud Integration page") + ![Configuration tab](./images/Integration_properties.png "Configuration tab") -4. In **Credentials** section, click Configure and fill your client credentials created in **OKTA** Set-up step. -5. Click save. -6. Navigate to the main Integrations page and set your integration to **Active**. +4. In the **Credentials** section, click Configure and enter your client credentials. +5. Click Save. +6. Navigate to the Integrations page and set your integration to **Active**. ![Genesys Cloud Integration page](./images/Active.png "Genesys Cloud Integration page") -## Messenger Configuration +### Messenger Configuration -1. In **Genesys Cloud > Admin > Messenger Configuration**, enable Authentication. -2. Select the **OAuth integration** created from [Genesys Cloud Integration](#integration "Goes to Genesys Cloud Integration step") from the dropdown. +1. Enable Authentication in **Genesys Cloud > Admin > Messenger Configuration**. +2. From the drop-down menu, select the **OAuth integration**. - ![Genesys Cloud Integration page](./images/Messenger-Okta-configuration.png "Genesys Cloud Integration page") + ![Messenger Configuration Apps](./images/Messenger-Okta-configuration.png "[Messenger Configuration Apps") -## Messenger Deployment +### Messenger Deployment 1. In **Genesys Cloud > Admin > Messenger Deployment**, select the **Configuration** created in the [Messenger Configuration](#messenger-configuration "Goes to Messenger Configuration step") - ![Genesys Cloud Messenger Deployment](./images/Configuration.png "Genesys Cloud Messenger Deployment") + ![Genesys Cloud Messenger Deployments](./images/Configuration.png "Genesys Cloud Messenger Deployments") 3. Save the deployment. This creates a single Snippet. 4. Use this single snippet on the website you would like the Messenger to appear. - ![Genesys Cloud Messenger Deployment](./images/Snippet.png "Genesys Cloud Messenger Deployment") + ![Deploy your snippet](./images/Snippet.png "Deploy your snippet") :::info Note: Note the deployment Id and environment from snippet to play with sample authentication app . ::: -## Configure authenticated messenger +### Configure authenticated Messenger -Write necessary code to configure messenger for authenticated web messaging in your webpage. +Write the necessary code to configure Messenger for authenticated Web messaging on your webpage. -1. To enable OKTA Sign-In experience, using JavaScript there are two approaches. - A. Including [Okta Auth JavaScript SDK](https://global.oktacdn.com/okta-auth-js/5.2.2/okta-auth-js.min.js 'Okta Auth JavaScript SDK') in your page. - B. Using OAuth 2.0 Endpoint. +1. There are two approaches to enabling an OKTA Sign-In experience using JavaScript. + A. [Okta Auth JavaScript SDK](https://global.oktacdn.com/okta-auth-js/5.2.2/okta-auth-js.min.js 'Okta Auth JavaScript SDK'). + B. OAuth 2.0 Endpoint. **A.Okta Sign-In using SDK:** @@ -175,7 +162,7 @@ Write necessary code to configure messenger for authenticated web messaging in y | nonce | A random string value generated by OKTA SDK. Nonce can also be passed as a paramater to OktaAuth object which rewrites the generated nonce value by OKTA SDK.| {: class="table-striped table-bordered"} - - Trigger the signIn action by calling the OKTA SDK's method **signInWithRedirect** with the request parameters. The **originalUri** parameter in options to track the route before the user signIn, and the addtional parameters are mapped to the Authorize options. This could be triggered with the help of link, button, etc., + - Trigger the signIn action by calling the OKTA SDK's method **signInWithRedirect** with the request parameters. The **originalUri** parameter in options to track the route before the user signIn, and the addtional parameters are mapped to the Authorize options. This could be triggered with the help of link, button, etc. ```{"title":"OktaAuth signInWithRedirect method","language":"JavaScript"} authClient.signInWithRedirect({ @@ -186,7 +173,7 @@ Write necessary code to configure messenger for authenticated web messaging in y **B. Okta Sign-In using Endpoint:** - - Generate **Auth URL** and trigger the login action. This could be triggered with the help of link, button, etc., + - Generate **Auth URL** and trigger the login action. This could be triggered with a link, button, etc., ```{"title":"Auth url Example","language":"html"} //Your request URL would look something like this @@ -216,15 +203,15 @@ Write necessary code to configure messenger for authenticated web messaging in y | codeChallengeMethod | Method used to derive the code challenge for PKCE flow. Valid value: S256. | {: class="table-striped table-bordered"} -2. If the user doesn't have an existing session, making this request opens the **OKTA** sign-in page. +2. If the user does not have an existing session, making this request opens the **OKTA** sign-in page. 3. If they have an existing session, they arrive at the specified redirect_uri along with a code as shown in the code snippet. ```{"title":"Redirect url appended with code and state Example","language":"javascript"} https://mypureclloud.com/?code=P5I7mdxxdv13_JfXrCSq&state=state-296bc9a0-a2a2-4a57-be1a-d0e2fd9bb601 // Code specifies OKTA authcode ``` -4. Page reload takes place when redirection happens from **OKTA**. This initializes [Auth plugin](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-plugin 'Goes to the SDK Commands and Events page') and calls its command [getTokens](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-plugin 'Goes to the SDK Commands and Events page') for Authentication. -5. Split the **OKTA** authcode from the redirect url. +4. Page reload takes place when redirection happens from **OKTA**. This initializes [Auth plugin](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-plugin 'Goes to the Auth plugins page') and calls the command [getTokens](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-plugin 'Goes to the SDK Commands and Events page') for Authentication. +5. Split the **OKTA** authcode from the redirect URL. 6. Create your own authprovider plugin and register the command [getAuthCode](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#authprovider-plugin 'Goes to the SDK Commands and Events page'). ```{"title":"Prepare the AuthProvider plugin","language":"javascript"} @@ -254,7 +241,7 @@ Genesys('registerPlugin', 'AuthProvider', (AuthProvider) => { }); ``` -7. Trigger the signOut action by calling the OKTA SDK's method **signOut**. This method should be called after [Auth.logout](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-logout 'Goes to Auth provider plugin') command. This could be triggered with the help of link, button, etc., +7. Trigger the signOut action by calling the OKTA SDK's **signOut** method. This should be called after the [Auth.logout](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-logout 'Goes to Auth provider plugin') command. This could be triggered with the help of a link, button, etc. ```{"title":"OktaAuth signOut method","language":"JavaScript"} AuthProvider.command('Auth.logout').finally(() => { @@ -267,19 +254,20 @@ AuthProvider.command('Auth.logout').finally(() => { You can run the sample app locally or from the blueprint repo. :::primary -**Note**: Regardless of where you run the sample app from, you need a Genesys Cloud user account in order for it to work. Our sample app uses [Okta Sign-In using SDK](#configure-authenticated-messenger) approach. +**Note**: Regardless of where you run the sample app, you need a Genesys Cloud user account for it to work. Our sample app uses the [Okta Sign-In using SDK](#configure-authenticated-messenger) approach. ::: To run the sample app from the blueprint repo: -1. Click [here](https://genesyscloudblueprints.github.io/messenger-authentication-okta-integration-blueprint/oauth.html "Goes to the sample app"). +1. Click [here](https://genesyscloudblueprints.github.io/messenger-authentication-okta-integration-blueprint/oauth.html "Goes to the Messenger with Authentication sign in"). 2. Enter the environment and deployment id configured With Okta. Click Submit. 3. Enter the client credentials for authenticated web messaging. -:::info - Refer the source code for sample app [here](https://github.com/GenesysCloudBlueprints/messenger-authentication-okta-integration-blueprint/blob/main/docs/oauth.html "Goes to source code of the sample app") -::: - For more information, see [Platform API](/api/digital/webmessaging/authenticate "Goes to the Authenticated WebMessaging page in the Genesys Cloud Developer Center"). +## Additional resources + + Refer the source code for sample app [here](https://github.com/GenesysCloudBlueprints/messenger-authentication-okta-integration-blueprint/blob/main/docs/oauth.html "Goes to messenger-authentication-okta-integration-blueprint") in GitHub + +[Platform API](https://developer.genesys.cloud/commdigital/digital/webmessaging/authenticate "Goes to the Authenticated web messaging article") in the Genesys Cloud Developer Center. From 3f096f79055d85e23550c8140e9c03fa16df2014 Mon Sep 17 00:00:00 2001 From: Toni Allen Date: Mon, 25 Apr 2022 12:05:08 -0400 Subject: [PATCH 2/6] Added links to the blueprint to the GitHub repo and Developer Center. --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1bf9f31..55a8f53 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ -# OKTA Integration with Messenger for SSO configuration +# Use OKTA Integration with Messenger for SSO configuration -This Genesys Cloud Developer blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and steps to set up an OKTA account for authorization credentials. +View the [Use OKTA Integration with Messenger for SSO configuration](https://github.com/GenesysCloudBlueprints/messenger-authentication-okta-integration-blueprint "[Use OKTA Integration with Messenger for SSO configuration"). -![Integrate Messenger with OKTA - Identity Provider](blueprint/images/Messenger_Okta_Integration.png "Integrate Messenger with OKTA - Identity Provider") +This Genesys Cloud Developer Blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and steps to set up an OKTA account for authorization credentials. + +You can view the complete blueprint and download the sample files from [here](https://github.com/GenesysCloudBlueprints/messenger-authentication-okta-integration-blueprint "Use OKTA Integration with Messenger for SSO configuration"). + +![Messenger Okta integration](blueprint/images/Messenger_Okta_Integration.png "Messenger Okta integration") From 627324a4c2693ecb25decceb3e4abbc3bf65ea5b Mon Sep 17 00:00:00 2001 From: Toni Allen Date: Mon, 25 Apr 2022 13:02:41 -0400 Subject: [PATCH 3/6] Modified file. --- blueprint/index-draft | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/blueprint/index-draft b/blueprint/index-draft index 5235f72..4d13f4a 100644 --- a/blueprint/index-draft +++ b/blueprint/index-draft @@ -1,17 +1,17 @@ --- -title: OKTA Integration with Messenger for SSO configuration +title: Use OKTA Integration with Messenger for SSO configuration author: rekha.mahalingam indextype: blueprint icon: blueprint image: images/Messenger_Okta_Integration.png category: 6 summary: | -This Genesys Cloud Developer blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and steps to set up an OKTA account for authorization credentials. +This Genesys Cloud Developer Blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and the steps to set up an OKTA account for authorization credentials. --- - This Genesys Cloud Developer blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and steps to set up an OKTA account for authorization credentials. + This Genesys Cloud Developer Blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and the steps to set up an OKTA account for authorization credentials. -![Integrate Messenger with OKTA - Identity Provider](./images/Messenger_Okta_Integration.png "Integrate Messenger with OKTA - Identity Provider") +![Messenger Okta Integration](./images/Messenger_Okta_Integration.png "Messenger Okta Integration") ## Scenario @@ -94,14 +94,14 @@ Login to the Genesys Cloud account within your **Organization** and click the ** ![Genesys Cloud Integration page](./images/Active.png "Genesys Cloud Integration page") -### Messenger Configuration +### Configure Messenger 1. Enable Authentication in **Genesys Cloud > Admin > Messenger Configuration**. 2. From the drop-down menu, select the **OAuth integration**. ![Messenger Configuration Apps](./images/Messenger-Okta-configuration.png "[Messenger Configuration Apps") -### Messenger Deployment +### Deploying Messenger 1. In **Genesys Cloud > Admin > Messenger Deployment**, select the **Configuration** created in the [Messenger Configuration](#messenger-configuration "Goes to Messenger Configuration step") From 07337c694444f6ecb7ba80995fa526c055f36c06 Mon Sep 17 00:00:00 2001 From: Toni Allen Date: Wed, 27 Apr 2022 11:47:23 -0400 Subject: [PATCH 4/6] I updated the title, section headers, steps/processes, README.md file title, and applied updates per the Standards blueprint process. --- README.md | 2 +- blueprint/index-draft | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 55a8f53..91f1c84 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Use OKTA Integration with Messenger for SSO configuration +# Integrating OKTA with Messenger for SSO configuration View the [Use OKTA Integration with Messenger for SSO configuration](https://github.com/GenesysCloudBlueprints/messenger-authentication-okta-integration-blueprint "[Use OKTA Integration with Messenger for SSO configuration"). diff --git a/blueprint/index-draft b/blueprint/index-draft index 4d13f4a..86fdf6c 100644 --- a/blueprint/index-draft +++ b/blueprint/index-draft @@ -1,5 +1,5 @@ --- -title: Use OKTA Integration with Messenger for SSO configuration +title: Integrating OKTA with Messenger for SSO configuration author: rekha.mahalingam indextype: blueprint icon: blueprint @@ -15,11 +15,11 @@ This Genesys Cloud Developer Blueprint demonstrates how to integrate Web messeng ## Scenario -This page explains the steps that the users should follow to **Integrate Messenger** with the **Identity Provider-OKTA** via Genesys Cloud. +Use the following steps to **Integrate Messenger** with the **Identity Provider-OKTA**. ## Solution components -**Genesys Cloud** - A suite of Genesys cloud services for enterprise-grade communications, collaboration, and contact center management. In this solution, a Genesys Cloud user account is required for your application to be authorized to integrate with Messenger. +**Genesys Cloud** - A suite of Genesys cloud services for enterprise-grade communications, collaboration, and contact center management. In this solution, a Genesys Cloud user account is required for your application to integrate with Messenger. ## Prerequisites @@ -34,7 +34,7 @@ Administrator-level knowledge of Genesys Cloud ### OKTA Developer account -- An OKTA developer account. For more information on how to create an OKTA developer account see, [okta Developer](https://developer.okta.com/signup/ "Goes to the okta Developer page") on the okta Developer website. +- An OKTA developer account. For more information on how to create an OKTA developer account, see [okta Developer](https://developer.okta.com/signup/ "Goes to the okta Developer page") on the okta Developer website. ## Implementation steps @@ -65,7 +65,7 @@ Administrator-level knowledge of Genesys Cloud ### Configure Genesys Cloud -You must make the following changes to enable communication from **Genesys Cloud** to **Messenger**: +Ensure the following changes are made to enable communication from **Genesys Cloud** to **Messenger**: 1. Integration 2. Messenger Configuration 3. Messenger Deployment @@ -84,15 +84,15 @@ Login to the Genesys Cloud account within your **Organization** and click the ** ![OpenID Connect Messenger Configuration install](./images/integration.png "OpenID Connect Messenger Configuration install") -3. In the **Configuration** section, place the Discovery Uri - https:///oauth2/default/.well-known/openid-configuration. +3. Click the **Configuration** tab, place the Discovery URI - https:///oauth2/default/.well-known/openid-configuration. ![Configuration tab](./images/Integration_properties.png "Configuration tab") -4. In the **Credentials** section, click Configure and enter your client credentials. +4. Click **Credentials**. Then click Configure and enter your client credentials. 5. Click Save. 6. Navigate to the Integrations page and set your integration to **Active**. - ![Genesys Cloud Integration page](./images/Active.png "Genesys Cloud Integration page") + ![Integrations page](./images/Active.png "Genesys Cloud integrations page") ### Configure Messenger @@ -101,7 +101,7 @@ Login to the Genesys Cloud account within your **Organization** and click the ** ![Messenger Configuration Apps](./images/Messenger-Okta-configuration.png "[Messenger Configuration Apps") -### Deploying Messenger +### Deploy Messenger 1. In **Genesys Cloud > Admin > Messenger Deployment**, select the **Configuration** created in the [Messenger Configuration](#messenger-configuration "Goes to Messenger Configuration step") @@ -113,14 +113,14 @@ Login to the Genesys Cloud account within your **Organization** and click the ** ![Deploy your snippet](./images/Snippet.png "Deploy your snippet") :::info - Note: Note the deployment Id and environment from snippet to play with sample authentication app . + Note: The deployment ID and environment from snippet to play with sample authentication app. ::: ### Configure authenticated Messenger Write the necessary code to configure Messenger for authenticated Web messaging on your webpage. -1. There are two approaches to enabling an OKTA Sign-In experience using JavaScript. +1. There are two approaches to enabling an OKTA sign-in experience using JavaScript. A. [Okta Auth JavaScript SDK](https://global.oktacdn.com/okta-auth-js/5.2.2/okta-auth-js.min.js 'Okta Auth JavaScript SDK'). B. OAuth 2.0 Endpoint. @@ -249,7 +249,7 @@ AuthProvider.command('Auth.logout').finally(() => { }); ``` -### Run the sample app +### Run sample app You can run the sample app locally or from the blueprint repo. @@ -268,6 +268,6 @@ To run the sample app from the blueprint repo: ## Additional resources - Refer the source code for sample app [here](https://github.com/GenesysCloudBlueprints/messenger-authentication-okta-integration-blueprint/blob/main/docs/oauth.html "Goes to messenger-authentication-okta-integration-blueprint") in GitHub + [messenger-authentication-okta-integration-blueprint](https://github.com/GenesysCloudBlueprints/messenger-authentication-okta-integration-blueprint/blob/main/docs/oauth.html "Goes to messenger-authentication-okta-integration-blueprint repository") in GitHub [Platform API](https://developer.genesys.cloud/commdigital/digital/webmessaging/authenticate "Goes to the Authenticated web messaging article") in the Genesys Cloud Developer Center. From edb85ccf9be5ab6996fc345043b1e18d1ac173ba Mon Sep 17 00:00:00 2001 From: Toni Allen Date: Wed, 27 Apr 2022 13:53:25 -0400 Subject: [PATCH 5/6] Updated content per Blueprint standards and processes. --- blueprint/index-draft | 66 ++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/blueprint/index-draft b/blueprint/index-draft index 86fdf6c..bd38f66 100644 --- a/blueprint/index-draft +++ b/blueprint/index-draft @@ -38,7 +38,7 @@ Administrator-level knowledge of Genesys Cloud ## Implementation steps -### OKTA Set-Up +### OKTA set-up 1. Login to your **OKTA** developer account. 2. From the left navigation panel, select **Applications > Applications**. @@ -53,7 +53,7 @@ Administrator-level knowledge of Genesys Cloud - Select the required **Grant type**. - Complete the **Sign-in redirect URIs**. For local development use - http://{local_domain_name}. Example: http://localhost:8080/. *Note: Using localhost is a way to test locally. This has to be the actual URL where Messenger initializes after login* - Complete the **Sign-out redirect URIs**(http://{local_domain_name}). -7. TO add an origin in the Admin Console, go to Security --> API --> Trusted origins. +7. To add an origin in the Admin Console, go to Security --> API --> Trusted origins. ![OKTA Application](./images/OKTA.png "OKTA Application page") @@ -112,21 +112,17 @@ Login to the Genesys Cloud account within your **Organization** and click the ** ![Deploy your snippet](./images/Snippet.png "Deploy your snippet") -:::info - Note: The deployment ID and environment from snippet to play with sample authentication app. -::: - ### Configure authenticated Messenger Write the necessary code to configure Messenger for authenticated Web messaging on your webpage. -1. There are two approaches to enabling an OKTA sign-in experience using JavaScript. +1. There are two approaches to enabling an OKTA sign-in using JavaScript. A. [Okta Auth JavaScript SDK](https://global.oktacdn.com/okta-auth-js/5.2.2/okta-auth-js.min.js 'Okta Auth JavaScript SDK'). B. OAuth 2.0 Endpoint. **A.Okta Sign-In using SDK:** - - Include the okta-auth-js library in your web page. + - Include the okta-auth-js library on your web page. ```{"title":"OKTA SDK","language":"html"} @@ -151,18 +147,18 @@ Write the necessary code to configure Messenger for authenticated Web messaging - The OktaAuth object contains the following parameters: | Parameter | Description | | --------- |----------| - | redirectUri | Specify the url where the browser should be redirected after signIn. This must be your full page URL which is listed in your Okta application's Sign-in redirect URIs.| - | postLogoutRedirectUri | Specify the url where the browser should be redirected after signOut. This must be your full page URL which is listed in your Okta application's Sign-out redirect URIs. If not specified, your application's origin (window.location.origin) will be used.| - | clientId | Specify the clientID which was generated when the Okta app was created. Refer [OKTA Set-Up](#okta-set-up)| - | issuer | Specify the Okta URL present in your OKTA-Developer account under Security --> API --> default| - | scopes| Set auth scopes to specify what access privileges are being requested as part of the authorization, if required.| - | pkce | Default value is true which enables the PKCE OAuth Flow. To use the Implicit Flow or Authorization Code Flow, set pkce to false. *Note : PKCE flow works only with secure domain.* | - | responseType| Set to **code** indicating that we are using the Authorization Code grant type.| - | maxAge | Allowable elapsed time, in seconds, since the last time the end user was actively authenticated by Okta.| - | nonce | A random string value generated by OKTA SDK. Nonce can also be passed as a paramater to OktaAuth object which rewrites the generated nonce value by OKTA SDK.| + | redirectUri | Specify the URL where the browser should be redirected after signIn. This must be your full page URL which is listed in your Okta application's Sign-in redirect URIs.| + | postLogoutRedirectUri | Specify where the URL should be redirected after signOut. This must be the URL listed in your Okta application's Sign-out redirect URIs. If not specified, your application's origin (window.location.origin) will be used.| + | clientId | Specify the clientID generated when the Okta app was created. Refer [OKTA set-up](#okta-set-up)| + | issuer | Specify the Okta URL in your OKTA-Developer account under Security --> API --> default| + | scopes| Set the auth scopes to specify what access privileges are requested as part of the authorization, if required.| + | pkce | Default value is true which enables the PKCE OAuth Flow. To use the Implicit Flow or Authorization Code Flow, set pkce to false. *Note: PKCE flow works only with secure domain.* | + | responseType| Set to **code** indicates you are using the Authorization Code grant type.| + | maxAge | Allowable elapsed time, in seconds, the last time the end user was actively authenticated by Okta.| + | nonce | A random string value generated by OKTA SDK. Nonce can also be passed as a parameter to OktaAuth object which rewrites the generated nonce value by OKTA SDK.| {: class="table-striped table-bordered"} - - Trigger the signIn action by calling the OKTA SDK's method **signInWithRedirect** with the request parameters. The **originalUri** parameter in options to track the route before the user signIn, and the addtional parameters are mapped to the Authorize options. This could be triggered with the help of link, button, etc. + - Trigger the signIn action by calling the OKTA SDK's method **signInWithRedirect** with the request parameters. The **originalUri** parameter in options to track the route before the user signIn, and the additional parameters are mapped to the Authorize options. ```{"title":"OktaAuth signInWithRedirect method","language":"JavaScript"} authClient.signInWithRedirect({ @@ -173,18 +169,18 @@ Write the necessary code to configure Messenger for authenticated Web messaging **B. Okta Sign-In using Endpoint:** - - Generate **Auth URL** and trigger the login action. This could be triggered with a link, button, etc., + - Generate **Auth URL** and trigger the login action. This could be triggered with a link, button, etc. ```{"title":"Auth url Example","language":"html"} - //Your request URL would look something like this + //Your request URL would look similar to: authURL = `client_id=&scope=openid%20email%20profile%20offline_access&response_type=code&redirect_uri=&state=eyJiYWNrVG9QYXRoIjoiL3ByaXZhdGUiLCJpc3N1ZXIiOiJva3RhIiwiYnl0ZXMiOiItSEhlWEV3YmNRak5fQWl3a0NkanVDNEZpQ1VPRV81emkzeFlKa1BQaWcwIn0%3D` - //Your request URL would look something like this if pkce flow is enabled + //Your request URL would look similar to the following action if pkce flow is enabled: authURL = `client_id=&scope=openid%20email%20profile%20offline_access&response_type=code&redirect_uri=&state=eyJiYWNrVG9QYXRoIjoiL3ByaXZhdGUiLCJpc3N1ZXIiOiJva3RhIiwiYnl0ZXMiOiItSEhlWEV3YmNRak5fQWl3a0NkanVDNEZpQ1VPRV81emkzeFlKa1BQaWcwIn0%3D&code_challenge_method=S256&code_challenge=` - //Your request URL would look something like this if optional parameter(nonce & maxAge) is added + //Your request URL would look similar to the following action if optional parameter(nonce & maxAge) is added: authURL = `client_id=&scope=openid%20email%20profile%20offline_access&response_type=code&redirect_uri=&state=eyJiYWNrVG9QYXRoIjoiL3ByaXZhdGUiLCJpc3N1ZXIiOiJva3RhIiwiYnl0ZXMiOiItSEhlWEV3YmNRak5fQWl3a0NkanVDNEZpQ1VPRV81emkzeFlKa1BQaWcwIn0%3D&nonce=&max_age=` ``` @@ -194,7 +190,7 @@ Write the necessary code to configure Messenger for authenticated Web messaging | --------- |----------| | DomainURL | Authorization server's endpoint(https://{yourOktaDomain}/oauth2/default/v1/authorize)| | ClientId | Specify the clientID which was generated when the Okta app was created. Refer [OKTA Set-Up](#okta-set-up)| - | RedirectURL| Specify the url where the browser should be redirected after signIn. This must be your full page URL which is listed in your Okta application's Sign-in redirect URIs.| + | RedirectURL| Specify the URL where the browser should be redirected after signIn. This must be your full page URL which is listed in your Okta application's Sign-in redirect URIs.| | Auth scopes| Set auth scopes to specify what access privileges are being requested as part of the authorization, if required.| | response_type| Set to **code** indicating that we are using the Authorization Code grant type| | max_age | Allowable elapsed time, in seconds, since the last time the end user was actively authenticated by Okta.| @@ -203,16 +199,16 @@ Write the necessary code to configure Messenger for authenticated Web messaging | codeChallengeMethod | Method used to derive the code challenge for PKCE flow. Valid value: S256. | {: class="table-striped table-bordered"} -2. If the user does not have an existing session, making this request opens the **OKTA** sign-in page. -3. If they have an existing session, they arrive at the specified redirect_uri along with a code as shown in the code snippet. +2. If the user does not have an existing session, the request opens the **OKTA** sign-in page. +3. If there is an existing session, the user will reach a specified redirect_uri with a code as shown in the code snippet. ```{"title":"Redirect url appended with code and state Example","language":"javascript"} https://mypureclloud.com/?code=P5I7mdxxdv13_JfXrCSq&state=state-296bc9a0-a2a2-4a57-be1a-d0e2fd9bb601 // Code specifies OKTA authcode ``` -4. Page reload takes place when redirection happens from **OKTA**. This initializes [Auth plugin](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-plugin 'Goes to the Auth plugins page') and calls the command [getTokens](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-plugin 'Goes to the SDK Commands and Events page') for Authentication. +4. Page reload occurs when redirection happens in **OKTA**. This initializes [Auth plugin](https://developer.genesys.cloud/commdigital/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-plugin 'Goes to the Auth plugins page') and calls the command [getTokens](https://developer.genesys.cloud/commdigital/digital/webmessaging/messengersdk/SDKCommandsEvents 'Goes to the SDK Commands and Events page') for Authentication. 5. Split the **OKTA** authcode from the redirect URL. -6. Create your own authprovider plugin and register the command [getAuthCode](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#authprovider-plugin 'Goes to the SDK Commands and Events page'). +6. Create your own authprovider plugin and register the command [getAuthCode](https://developer.genesys.cloud/commdigital/digital/webmessaging/messengersdk/SDKCommandsEvents 'Goes to the SDK Commands and Events page'). ```{"title":"Prepare the AuthProvider plugin","language":"javascript"} Genesys('registerPlugin', 'AuthProvider', (AuthProvider) => { @@ -235,36 +231,36 @@ Genesys('registerPlugin', 'AuthProvider', (AuthProvider) => { redirectUri: , // Pass the redirection URI configured in your Authentication provider here nonce: , // For Sign-In using SDK approach, pass the random string value stored in session storage. For endpoint approach, generate a random string value maxAge: // Pass elapsed time in seconds and it is an optional parameter - codeVerifier: // For PKCE flow : If SDK approach is used, get code verifier from session storage. If endpoint approach is used, pass a cryptographically random string which you used to generate codeChallenge + codeVerifier: // For PKCE flow: If SDK approach is used, get code verifier from session storage. If the endpoint approach is used, pass a cryptographically random string that you used to generate codeChallenge }); }); }); ``` -7. Trigger the signOut action by calling the OKTA SDK's **signOut** method. This should be called after the [Auth.logout](https://developer.genesys.cloud/api/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-logout 'Goes to Auth provider plugin') command. This could be triggered with the help of a link, button, etc. +7. Trigger the signOut action by calling the OKTA SDK's **signOut** method. This should be called after the [Auth.logout](https://developer.genesys.cloud/commdigital/digital/webmessaging/messengersdk/SDKCommandsEvents#auth-logout 'Goes to Auth.logout') command. This could be triggered with the help of a link, button, etc. ```{"title":"OktaAuth signOut method","language":"JavaScript"} AuthProvider.command('Auth.logout').finally(() => { authClient.signOut(); }); ``` - ### Run sample app -You can run the sample app locally or from the blueprint repo. +Run the sample app locally or from the blueprint repo. :::primary -**Note**: Regardless of where you run the sample app, you need a Genesys Cloud user account for it to work. Our sample app uses the [Okta Sign-In using SDK](#configure-authenticated-messenger) approach. +**Note**: A Genesys Cloud user account is required to run the sample app. The sample app uses the [Okta Sign-In using SDK](#configure-authenticated-messenger) approach. ::: -To run the sample app from the blueprint repo: +Use the following steps to run the sample app from the blueprint repo: 1. Click [here](https://genesyscloudblueprints.github.io/messenger-authentication-okta-integration-blueprint/oauth.html "Goes to the Messenger with Authentication sign in"). -2. Enter the environment and deployment id configured With Okta. Click Submit. +2. Enter the environment and the deployment ID that you configured with Okta. -3. Enter the client credentials for authenticated web messaging. +3. Click Submit. +3. Enter the client credentials for authenticated web messaging. ## Additional resources From a9d678e63814fd3333e0fd5f1e70da02c0dec06e Mon Sep 17 00:00:00 2001 From: Toni Allen Date: Wed, 4 Jan 2023 14:53:00 -0500 Subject: [PATCH 6/6] Added disclaimer. --- blueprint/index-draft | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/blueprint/index-draft b/blueprint/index-draft index bd38f66..4d81653 100644 --- a/blueprint/index-draft +++ b/blueprint/index-draft @@ -1,5 +1,5 @@ --- -title: Integrating OKTA with Messenger for SSO configuration +title: Integrate OKTA with Messenger for SSO configuration author: rekha.mahalingam indextype: blueprint icon: blueprint @@ -8,6 +8,13 @@ category: 6 summary: | This Genesys Cloud Developer Blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and the steps to set up an OKTA account for authorization credentials. --- +:::{"alert":"primary","title":"About Genesys Cloud Blueprints","autoCollapse":false} +Genesys Cloud blueprints were built to help you jump-start building an application or integrating with a third-party partner. +Blueprints are meant to outline how to build and deploy your solutions, not a production-ready turn-key solution. + +For more details on Genesys Cloud blueprint support and practices +please see our Genesys Cloud blueprint [FAQ](https://developer.genesys.cloud/blueprints/faq)sheet. +::: This Genesys Cloud Developer Blueprint demonstrates how to integrate Web messenger with OKTA to perform SSO integration and the steps to set up an OKTA account for authorization credentials.