Testing the Deployment
In this step you will retrieve an access token and make an API call to test that the app was correctly deployed to your environment. In the test you will leverage the APIs directly, for example by using a client like Postman, or any HTTP client. The test assumes that you have registered the Yubico FIDO Pre-reg Test Client as described in Registering Apps.
To retrieve an access token, do the following:
- Go to the previously created Yubico FIDO Pre-reg Test Client.
- From your client, make an API call using the following request:
- Method:
POST
- URL:
https://login.microsoftonline.com/{your azure tenant domain}/oauth2/v2.0/token
- Header: Content-Type -
application/x-www-form-urlencoded
- Body:
- grant_type:
client_credentials
- client_id: Client ID created for the Yubico FIDO Pre-reg Test Client.
- client_secret: Client secret from when you created the test client.
- scope:
api://fido-connector-api.{verified domain name}/.default
- grant_type:
- Method:
- Send the request.
- From the response, copy the
access_token value
.
To call the API, do the following:
- From your client, make an API call using the following request:
- Method:
GET
- URL:
https://{url of your container app}/v1/status
. For base URL, copy the Application URL from your Container App. - Header:
- Authorization - Bearer
{access_token from previous step}
Example:Bearer eyJ0…
- Content-Type -
application/json
- Authorization - Bearer
- Method:
- From this API call you should receive a 200 status code, with a response payload that outlines the different environment configurations that were made during setup of the components. Double-check these responses to ensure that they are correct.
Troubleshooting
The following provides basic troubleshooting steps for common deployment issues.
Where to Start?
- What is the error message that you are getting?
- Verify the environment variables and key vault values:
- Key Vault Administrator is required to view key vault entries.
- Verify secrets entries for the YubiEnterprise API. Must be a valid token retrieved from the YubiEnterprise Console, see Generating API Tokens.
- Review response message from the Credential API Container App.
- Check Container App Logs.
- Verify Environment Variables.
- Verify Azure Key Vault values.
Verifying Shipment Status in Storage Browser
- Log in to the Azure portal.
- Go to the Resource Group.
- Go to Storage Account > Storage Browser > Tables.
- Click the fprshipments table.
- Find the desired shipment by
shipmentId
. - Verify that the state of the shipment is complete. A
shipmentId
status that is not updated to “complete” will continue to retry. Once you investigate and resolve the issue, the status can be manually updated to “complete”. - If a
shipmentId
has encountered an error during processing, it will be recorded in the fprshipments table fieldserror_kind
anderror_message
. - Once you have investigated and resolved the issue, the shipment will be reprocessed during the next scheduled run to “complete” status. Alternatively, the status can be manually updated to “complete” if the cause of the error cannot be resolved.
Note
The shipment status and processing error recorded in the fprshipments table can also be obtained by calling the API as described in Get Shipment Request Status. You can find more details to understand the error in Checking FIDO Connector Logs.
Verifying Delivery Status of YubiKey PIN
By default Yubico FIDO Pre-reg is configured to send emails to the end user’s manager. If the manager relationship for the end user is not set up, or the manager does not have an email address configured, the PIN delivery will fail.
To verify that the PIN delivery was successful, do the following:
- Log in to the Azure portal.
- Go to Resource Group > Logic App.
- In the left menu, click Development tools > Run history.
- Verify that you have a record with Status “Succeeded”.
- If the status is “Succeeded”:
- Open the history record.
- Select the connector for “HTTP - Get User Manager Details”.
- In the Parameters tab of the Outputs section, verify that Body has a field for the “mail” attribute populated with the email address of the end user’s manager.
- If the status is “Failed”:
- Open the history record.
- Review which connector had an error and investigate the details of the error by clicking the connector.
Verifying YubiKey Registration in Microsoft Entra ID
- Log in to the Microsoft Entra admin center.
- Go to Users > All users.
- Search for the desired User.
- Go to Authentication method.
- Verify that the new YubiKey is listed.
Checking Microsoft Entra ID Audit Log History
- Log in to the Microsoft Entra admin center.
- Go to Users > All users.
- Search for the desired User.
- Go to Audit logs.
- Filter the Activity column for each of the following:
- “Get passkey creation options”.
- “Admin registered security info”.
- “User registered security info”.
- Check if any of the events indicate that an error occurred.
Note
If an error related to Microsoft Entra ID is encountered by the FIDO Connector App, the error_message
in the fprshipments table, or error entry in FIDO Connector App logs, will contain a client-request-id
which is related to the “Correlation ID” in Microsoft Entra ID Audit Logs.
Checking FIDO Connector Logs
Log in to the Azure portal.
Go to the Resource Group where the FIDO Connector App is deployed.
Select the Container App.
Select Monitoring > Logs.
Within the open tab, if not already selected, in the drop-down, change from “Simple mode” to “KQL mode” (using Kusto Query Language).
Paste a KQL query similar to the following to begin identifying errors and timeframes to investigate:
ContainerAppConsoleLogs_CL | where Log_s contains "WARN" or Log_s contains "ERROR" or Log_s contains "Fail" | project TimeGenerated, ContainerName_s, Log_s