Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ps updates #11

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Original file line number Diff line number Diff line change
Expand Up @@ -98,12 +98,13 @@ Next we are going to add a script to **Script** field. Copy the script provided

```js
(function execute(inputs, outputs) {
const parsed_signing_keys = JSON.parse(inputs.signing_keys)
outputs.request_body = JSON.stringify({
fulfillmentProvider: inputs.fulfillment_provider,
userId: inputs.user_id,
serial: inputs.serial_number,
version: inputs.version,
yubicoSigningJwks: inputs.signing_keys,
yubicoSigningJwks: parsed_signing_keys.keys,
pinResponseJwe: inputs.pin_response,
credResponses: [
{
Expand Down
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not following the reason for this change. Is there a reason we're changing this one to a String, but not the correlated field in the action output?

Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ For each row in the table below, perform the following steps:
| Label | Type | Mandatory |
| ----------------- | ------- | --------- |
| shipment_id | String | on |
| shipment_state_id | Integer | on |
| shipment_state_id | String | on |

Your script outputs menu should look like the example below.

Expand Down
8 changes: 8 additions & 0 deletions docs/docs/fido-pre-reg/connections.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,13 @@ Below are instructions for generating an API token for FIDO Pre-reg supported Id
See [this section](/yed-spoke-example/docs/connections) from earlier in this guide to establish an API credential in ServiceNow. You will need to perform this step for both of the API tokens generated above.

::::warning

The link to the previous section above references configurations for specifically the YubiEnterprise API. When configuring your IdP ensure that you set the **API Token/Secret** and **Base URL** to match what's expected for your IdP.

::::

:::warning

When creating the credential for Okta and adding the API Key, do not add `Bearer` before the token, instead add `SSWS`. See [Okta API tokens](https://developer.okta.com/docs/guides/create-an-api-token/main/#okta-api-tokens) for more information.

:::
23 changes: 12 additions & 11 deletions docs/docs/fido-pre-reg/flows/okta.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the inner comment on the variable names provided by the catalog item

Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,11 @@ Use the right facing arrow to move the following fields to the column on the rig
- street_address
- apt_or_unit
- city
- region
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm not mistaken, I think these variable names are "auto populated" by the labels that are configured here

So either we need to mention in the previous page to use the "custom" labels denoted below, or revert back so that the naming is consistent

- region_state
- postal_code
- country
- country_code
- is_the_user_receiving_their_first_yubikey_or_a_replacement
- select_a_yubikey_model
- yubikey_model

Your form variables menu should look like the example below.

Expand Down Expand Up @@ -164,10 +164,10 @@ Use the table below to correlate the correct data pill, to the inputs of the act
| Street Line 1 | Get Catalog Variable > street_address |
| Street Line 2 | Get Catalog Variable > apt_or_unit |
| City | Get Catalog Variable > city |
| Region | Get Catalog Variable > region |
| Region | Get Catalog Variable > region_state |
| Postal Code | Get Catalog Variable > postal_code |
| Country Code | Get Catalog Variable > country |
| Product ID | Get Catalog Variable > select_a_yubikey_model |
| Country Code | Get Catalog Variable > country_code |
| Product ID | Get Catalog Variable > yubikey_model |
| Inventory Product ID | Get Catalog Variable > is_the_user_receiving_their_first_yubikey_or_a_replacement |
| Customization ID | Enter your YubiEnterprise customization ID - This can be found in the YubiEnterprise console, or you can work with your Yubico contact |
| Quantity | 1 |
Expand All @@ -188,8 +188,9 @@ We will need to create a flow variable to keep track of the current shipment sta
1. Click the 3 dots on the top right of the screen
2. Click **Flow Variables**
3. Click the small **+** button on the right of the pop-up menu
4. Set the **Label** to **Current shipment state ID**.
5. Set the **Type** to **Integer**
4. Set the **Label** to **Current shipment state ID**
5. Set the **Name** to **current_shipment_state_id**
6. Set the **Type** to **Integer**

Your final settings should resemble the image below.

Expand Down Expand Up @@ -305,9 +306,9 @@ For the field **Shipment ID**, drag the **Shipment Request ID** data pill from t

Next, we are going to update the flow variable for the **Current Shipment State ID**. This will help us understand if the PIN and credential response is available for processing.

First we'll start by setting the **Flow Variable Current Shipment State ID** to the updated state provided by the **Get FIDO Pre-reg shipment** action.
First we'll start by setting the **Flow Variable Current Shipment State ID** to the updated state provided by the **YubiEnterprise get shipment (Pre-reg)** action.

These steps should resemble the ones taken earlier on this page. Under the **Get FIDO Pre-reg shipment** action click the **+ Add an Action, Flow Logic, or Subflow** button.
These steps should resemble the ones taken earlier on this page. Under the **YubiEnterprise get shipment (Pre-reg)** action click the **+ Add an Action, Flow Logic, or Subflow** button.

Next, select **Flow Logic**.

Expand All @@ -317,7 +318,7 @@ A new menu will appear. Begin by clicking the **+** button in the new menu.

In the **Name** field, select the flow variable **Current shipment state ID**.

Drag the **Shipment State ID** value from the **Data** window on the right, in the **Get FIDO Pre-reg shipment** section.
Drag the **Shipment State ID** value from the **Data** window on the right, in the **YubiEnterprise get shipment (Pre-reg)** section.

Your resulting menu should resemble the image below.

Expand Down
14 changes: 10 additions & 4 deletions docs/docs/fido-pre-reg/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,23 @@ sidebar_position: 1

# FIDO Pre-reg overview

With FIDO Pre-reg, an IT administrator can use the YubiEnterprise Delivery API together with an identity provider's (IdP) FIDO2 API to order pre-registered YubiKeys for end-users. The keys are pre-registered and shipped directly to the specific end user together with a login credential for immediate use.
With Yubico FIDO Pre-reg, an IT administrator can use the YubiEnterprise Delivery API together with an identity provider's (IdP) FIDO2 API to order pre-registered YubiKeys for end-users. The keys are pre-registered and shipped directly to the specific end user with a login credential for immediate use.

:::info

This guide is designed to be a starting point to demonstrate a basic integration exercising the critical path for ServiceNow and the YubicoEnterprise Delivery API. The resulting product is not production ready.

:::

## Learn more

The resources below dive into more details about Yubico's FIDO Pre-reg solution

- [FIDO Pre-reg](https://www.yubico.com/products/fido-pre-reg/)
- [Yubico Blog - FIDO Pre-reg is here](https://www.yubico.com/blog/fido-pre-reg-is-here-what-secure-fast-passwordless-onboarding-and-account-recovery-at-scale-means-for-your-business-and-end-users/)
- [Yubico FIDO Pre-reg](https://www.yubico.com/products/fido-pre-reg/)
- [Yubico Blog - Yubico FIDO Pre-reg is here](https://www.yubico.com/blog/fido-pre-reg-is-here-what-secure-fast-passwordless-onboarding-and-account-recovery-at-scale-means-for-your-business-and-end-users/)

## This guide

At the end of this tutorial you will have a custom ServiceNow flow that is capable of ordering a YubiKey with a pre-registered FIDO2 credential against a supported IdP. This guide will build off of the concepts introduced in the earlier sections of this guide, though does not require the implementation of a non-FIDO Pre-reg YubiEnterprise shipment flow.
At the end of this tutorial you will have a custom ServiceNow flow that is capable of ordering a YubiKey with a pre-registered FIDO2 credential against a supported IdP. This guide will build off of the concepts introduced in the earlier sections of this guide, and does not require the implementation of a non-FIDO Pre-reg YubiEnterprise shipment flow.

Click the **Next** button below if you are ready to begin!
Binary file modified docs/static/img/pre-reg/pr-52.png
csalas-yubico marked this conversation as resolved.
Show resolved Hide resolved
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.