Update to Authorization Inputs
Inferno is updating the way inputs are managed for SMART App Launch workflows. This change is part of our continued efforts to improve the user experience of Inferno, and to make it easier for test authors to create and maintain tests.
This update to Inferno includes a new compound input type, AuthInfo
, which
manages OAuth 2.0 inputs for a test. This compound type includes fields for all
of the information necessary to perform an authorization workflow, including the
authorization workflow type, client ID, client secret, scope, and redirect URI.
This change will provide the following benefits:
- Inferno will intelligently display or hide authorization-related fields based on the selected authorization workflow, making it easier for users to understand which inputs are required for a given test.
- Test authors can include a single authorization input in their tests, instead of including several for the various components of the OAuth 2.0 authorization workflow.
- Inferno will automatically perform token refreshes when necessary, without any special attention from the test author or user.
The primary impact for test users is they will notice that OAuth 2.0-related inputs are now organized together, and dynamically update based on selected authorization workflows.
And while we strive for stability and backwards-compatibility for all uses of Inferno today, the following users of Inferno may be affected by this change and may need to adjust their usage accordingly:
- Users who have created custom presets or sets of saved inputs
- Users who reuse old test sessions
- Users who integrate directly with the Inferno JSON API
- Users who automate Inferno UI interactions
For those that integrate with Inferno using the JSON API, the structure of inputs will change. The JSON representation of inputs which used to look like this:
{
"name": "standalone_client_id",
"description": "Client ID provided during registration of Inferno as a standalone application",
"title": "Standalone Client ID",
"type": "text",
"value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
},
{
"name": "standalone_client_secret",
"description": "Client Secret provided during registration of Inferno as a standalone application. Only for clients using confidential symmetric authentication.",
"title": "Standalone Client Secret",
"type": "text",
"value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
},
{
"name": "standalone_requested_scopes",
"description": "OAuth 2.0 scope provided by system to enable all required functionality",
"title": "Standalone Scope",
"type": "textarea",
"value": "launch/patient openid fhirUser offline_access patient/*.read*"
}
…will now be structured like this:
{
"name": "standalone_smart_auth_info",
"_title": "Standalone Launch Credentials",
"_type": "auth_info",
"value": {
"client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
"client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
"requested_scopes": "launch/patient openid fhirUser offline_access patient/*.read"
}
}
A preview of this change is available on the Inferno on HealthIT.gov QA site. Please reach out to the Inferno team if you have questions regarding this change.