Module: SMARTAppLaunch

Defined in:
lib/smart_app_launch/jwks.rb,
lib/smart_app_launch/tags.rb,
lib/smart_app_launch/urls.rb,
lib/smart_app_launch/version.rb,
lib/smart_app_launch/metadata.rb,
lib/smart_app_launch/url_helpers.rb,
lib/smart_app_launch/smart_tls_test.rb,
lib/smart_app_launch/app_launch_test.rb,
lib/smart_app_launch/ehr_launch_group.rb,
lib/smart_app_launch/smart_stu1_suite.rb,
lib/smart_app_launch/smart_stu2_suite.rb,
lib/smart_app_launch/app_redirect_test.rb,
lib/smart_app_launch/code_received_test.rb,
lib/smart_app_launch/smart_stu2_2_suite.rb,
lib/smart_app_launch/token_refresh_test.rb,
lib/smart_app_launch/client_stu2_2_suite.rb,
lib/smart_app_launch/token_exchange_test.rb,
lib/smart_app_launch/token_refresh_group.rb,
lib/smart_app_launch/discovery_stu1_group.rb,
lib/smart_app_launch/discovery_stu2_group.rb,
lib/smart_app_launch/launch_received_test.rb,
lib/smart_app_launch/openid_connect_group.rb,
lib/smart_app_launch/ehr_launch_group_stu2.rb,
lib/smart_app_launch/app_redirect_test_stu2.rb,
lib/smart_app_launch/client_suite/oidc_jwks.rb,
lib/smart_app_launch/discovery_stu2_2_group.rb,
lib/smart_app_launch/ehr_launch_group_stu2_2.rb,
lib/smart_app_launch/standalone_launch_group.rb,
lib/smart_app_launch/token_refresh_body_test.rb,
lib/smart_app_launch/token_refresh_stu2_test.rb,
lib/smart_app_launch/client_assertion_builder.rb,
lib/smart_app_launch/cors_token_exchange_test.rb,
lib/smart_app_launch/openid_token_header_test.rb,
lib/smart_app_launch/token_exchange_stu2_test.rb,
lib/smart_app_launch/token_payload_validation.rb,
lib/smart_app_launch/token_refresh_stu2_group.rb,
lib/smart_app_launch/token_response_body_test.rb,
lib/smart_app_launch/well_known_endpoint_test.rb,
lib/smart_app_launch/client_suite/access_group.rb,
lib/smart_app_launch/openid_retrieve_jwks_test.rb,
lib/smart_app_launch/openid_token_payload_test.rb,
lib/smart_app_launch/smart_access_brands_group.rb,
lib/smart_app_launch/smart_access_brands_suite.rb,
lib/smart_app_launch/token_introspection_group.rb,
lib/smart_app_launch/cors_metadata_request_test.rb,
lib/smart_app_launch/token_exchange_stu2_2_test.rb,
lib/smart_app_launch/client_suite/client_options.rb,
lib/smart_app_launch/endpoints/mock_smart_server.rb,
lib/smart_app_launch/openid_connect_group_stu2_2.rb,
lib/smart_app_launch/openid_decode_id_token_test.rb,
lib/smart_app_launch/openid_fhir_user_claim_test.rb,
lib/smart_app_launch/token_response_headers_test.rb,
lib/smart_app_launch/standalone_launch_group_stu2.rb,
lib/smart_app_launch/cors_well_known_endpoint_test.rb,
lib/smart_app_launch/standalone_launch_group_stu2_2.rb,
lib/smart_app_launch/token_response_body_test_stu2_2.rb,
lib/smart_app_launch/client_suite/client_descriptions.rb,
lib/smart_app_launch/cors_openid_fhir_user_claim_test.rb,
lib/smart_app_launch/token_introspection_group_stu2_2.rb,
lib/smart_app_launch/backend_services_invalid_jwt_test.rb,
lib/smart_app_launch/token_introspection_request_group.rb,
lib/smart_app_launch/well_known_capabilities_stu1_test.rb,
lib/smart_app_launch/well_known_capabilities_stu2_test.rb,
lib/smart_app_launch/openid_retrieve_configuration_test.rb,
lib/smart_app_launch/token_introspection_response_group.rb,
lib/smart_app_launch/client_suite/registration_alp_group.rb,
lib/smart_app_launch/smart_access_brands_retrieval_group.rb,
lib/smart_app_launch/backend_services_authorization_group.rb,
lib/smart_app_launch/client_suite/registration_alca_group.rb,
lib/smart_app_launch/client_suite/registration_alcs_group.rb,
lib/smart_app_launch/client_suite/registration_bsca_group.rb,
lib/smart_app_launch/smart_access_brands_validation_group.rb,
lib/smart_app_launch/client_suite/registration_verification.rb,
lib/smart_app_launch/token_introspection_access_token_group.rb,
lib/smart_app_launch/client_suite/token_request_verification.rb,
lib/smart_app_launch/backend_services_invalid_grant_type_test.rb,
lib/smart_app_launch/client_suite/access_alp_interaction_test.rb,
lib/smart_app_launch/client_suite/authentication_verification.rb,
lib/smart_app_launch/client_suite/token_use_verification_test.rb,
lib/smart_app_launch/smart_access_brands_retrieve_bundle_test.rb,
lib/smart_app_launch/smart_access_brands_validate_brands_test.rb,
lib/smart_app_launch/smart_access_brands_validate_bundle_test.rb,
lib/smart_app_launch/client_suite/access_alca_interaction_test.rb,
lib/smart_app_launch/client_suite/access_alcs_interaction_test.rb,
lib/smart_app_launch/client_suite/access_bsca_interaction_test.rb,
lib/smart_app_launch/endpoints/echoing_fhir_responder_endpoint.rb,
lib/smart_app_launch/openid_required_configuration_fields_test.rb,
lib/smart_app_launch/endpoints/mock_smart_server/token_endpoint.rb,
lib/smart_app_launch/smart_access_brands_validate_endpoints_test.rb,
lib/smart_app_launch/token_introspection_access_token_group_stu2_2.rb,
lib/smart_app_launch/backend_services_authorization_request_builder.rb,
lib/smart_app_launch/backend_services_invalid_client_assertion_test.rb,
lib/smart_app_launch/client_suite/registration_alp_verification_test.rb,
lib/smart_app_launch/smart_access_brands_validate_endpoint_urls_test.rb,
lib/smart_app_launch/client_suite/registration_alca_verification_test.rb,
lib/smart_app_launch/client_suite/registration_alcs_verification_test.rb,
lib/smart_app_launch/client_suite/registration_bsca_verification_test.rb,
lib/smart_app_launch/client_suite/token_request_alp_verification_test.rb,
lib/smart_app_launch/backend_services_authorization_response_body_test.rb,
lib/smart_app_launch/client_suite/token_request_alca_verification_test.rb,
lib/smart_app_launch/client_suite/token_request_alcs_verification_test.rb,
lib/smart_app_launch/client_suite/token_request_bsca_verification_test.rb,
lib/smart_app_launch/endpoints/mock_smart_server/authorization_endpoint.rb,
lib/smart_app_launch/endpoints/mock_smart_server/introspection_endpoint.rb,
lib/smart_app_launch/backend_services_authorization_request_success_test.rb,
lib/smart_app_launch/client_suite/authorization_request_verification_test.rb,
lib/smart_app_launch/endpoints/mock_smart_server/smart_token_response_creation.rb,
lib/smart_app_launch/endpoints/mock_smart_server/smart_authorization_response_creation.rb,
lib/smart_app_launch/endpoints/mock_smart_server/smart_introspection_response_creation.rb

Defined Under Namespace

Modules: AuthenticationVerification, ClientWaitDialogDescriptions, MockSMARTServer, RegistrationVerification, SMARTClientOptions, TokenPayloadValidation, TokenRequestVerification, URLHelpers, URLs Classes: AppLaunchTest, AppRedirectTest, AppRedirectTestSTU2, BackendServicesAuthorizationGroup, BackendServicesAuthorizationRequestBuilder, BackendServicesAuthorizationRequestSuccessTest, BackendServicesAuthorizationResponseBodyTest, BackendServicesInvalidClientAssertionTest, BackendServicesInvalidGrantTypeTest, BackendServicesInvalidJWTTest, CORSMetadataRequest, CORSOpenIDFHIRUserClaimTest, CORSTokenExchangeTest, CORSWellKnownEndpointTest, ClientAssertionBuilder, CodeReceivedTest, DiscoverySTU1Group, DiscoverySTU22Group, DiscoverySTU2Group, EHRLaunchGroup, EHRLaunchGroupSTU2, EHRLaunchGroupSTU22, EchoingFHIRResponderEndpoint, JWKS, LaunchReceivedTest, Metadata, OIDCJWKS, OpenIDConnectGroup, OpenIDConnectGroupSTU22, OpenIDDecodeIDTokenTest, OpenIDFHIRUserClaimTest, OpenIDRequiredConfigurationFieldsTest, OpenIDRetrieveConfigurationTest, OpenIDRetrieveJWKSTest, OpenIDTokenHeaderTest, OpenIDTokenPayloadTest, SMARTAccessBrandsGroup, SMARTAccessBrandsRetrievalGroup, SMARTAccessBrandsRetrievalTest, SMARTAccessBrandsSuite, SMARTAccessBrandsValidateBrands, SMARTAccessBrandsValidateBundle, SMARTAccessBrandsValidateEndpointURLs, SMARTAccessBrandsValidateEndpoints, SMARTAccessBrandsValidationGroup, SMARTClientAccess, SMARTClientAccessAppLaunchConfidentialAsymmetricInteraction, SMARTClientAccessAppLaunchConfidentialSymmetricInteraction, SMARTClientAccessAppLaunchPublicInteraction, SMARTClientAccessBackendServicesConfidentialAsymmetricInteraction, SMARTClientAppLaunchAuthorizationRequestVerification, SMARTClientBackendServicesRegistrationVerification, SMARTClientRegistrationAppLaunchConfidentialAsymmetric, SMARTClientRegistrationAppLaunchConfidentialAsymmetricVerification, SMARTClientRegistrationAppLaunchConfidentialSymmetric, SMARTClientRegistrationAppLaunchConfidentialSymmetricVerification, SMARTClientRegistrationAppLaunchPublic, SMARTClientRegistrationAppLaunchPublicVerification, SMARTClientRegistrationBackendServicesConfidentialAsymmetric, SMARTClientSTU22Suite, SMARTClientTokenRequestAppLaunchConfidentialAsymmetricVerification, SMARTClientTokenRequestAppLaunchConfidentialSymmetricVerification, SMARTClientTokenRequestAppLaunchPublicVerification, SMARTClientTokenRequestBackendServicesConfidentialAsymmetricVerification, SMARTClientTokenUseVerification, SMARTSTU1Suite, SMARTSTU22Suite, SMARTSTU2Suite, SMARTTLSTest, SMARTTokenIntrospectionAccessTokenGroup, SMARTTokenIntrospectionAccessTokenGroupSTU22, SMARTTokenIntrospectionGroup, SMARTTokenIntrospectionGroupSTU22, SMARTTokenIntrospectionRequestGroup, SMARTTokenIntrospectionResponseGroup, StandaloneLaunchGroup, StandaloneLaunchGroupSTU2, StandaloneLaunchGroupSTU22, TokenExchangeSTU22Test, TokenExchangeSTU2Test, TokenExchangeTest, TokenRefreshBodyTest, TokenRefreshGroup, TokenRefreshSTU2Group, TokenRefreshSTU2Test, TokenRefreshTest, TokenResponseBodyTest, TokenResponseBodyTestSTU22, TokenResponseHeadersTest, WellKnownCapabilitiesSTU1Test, WellKnownCapabilitiesSTU2Test, WellKnownEndpointTest

Constant Summary collapse

TOKEN_TAG =
'token'
AUTHORIZATION_TAG =
'authorization'
INTROSPECTION_TAG =
'introspection'
SMART_TAG =
'SMART'
ACCESS_TAG =
'access'
CLIENT_CREDENTIALS_TAG =
'client_credentials'
AUTHORIZATION_CODE_TAG =
'authorization_code'
REFRESH_TOKEN_TAG =
'refresh_token'
PUBLIC_TAG =
'public'
CONFIDENTIAL_SYMMETRIC_TAG =
'confidential_symmetric'
CONFIDENTIAL_ASYMMETRIC_TAG =
'confidential_asymmetric'
FHIR_PATH =
'/fhir'
RESUME_PASS_PATH =
'/resume_pass'
RESUME_FAIL_PATH =
'/resume_fail'
AUTH_SERVER_PATH =
'/auth'
SMART_DISCOVERY_PATH =
"#{FHIR_PATH}/.well-known/smart-configuration".freeze
OIDC_DISCOVERY_PATH =
"#{FHIR_PATH}/.well-known/openid-configuration".freeze
OIDC_JWKS_PATH =
"#{FHIR_PATH}/.well-known/jwks.json".freeze
TOKEN_PATH =
"#{AUTH_SERVER_PATH}/token".freeze
AUTHORIZATION_PATH =
"#{AUTH_SERVER_PATH}/authorization".freeze
INTROSPECTION_PATH =
"#{AUTH_SERVER_PATH}/introspect".freeze
VERSION =
'1.0.0'.freeze
LAST_UPDATED =
'2025-07-21'.freeze
RE_RUN_REGISTRATION_SUFFIX =
'Create a new session and re-run the Client Registration group if you need to change this value.'
INPUT_CLIENT_ID_DESCRIPTION =
'Testers may provide a specific value for Inferno to assign as the client id. If no value is provided, ' \
'the Inferno session id will be used.'
INPUT_CLIENT_ID_DESCRIPTION_LOCKED =
"The registered Client Id for use in obtaining access tokens. #{RE_RUN_REGISTRATION_SUFFIX}".freeze
INPUT_SMART_LAUNCH_URLS_DESCRIPTION =
'If the client app supports EHR launch, a comma-delimited list of one or more URLs that Inferno can ' \
'use to launch the app.'
INPUT_SMART_LAUNCH_URLS_DESCRIPTION_LOCKED =
'Registered Launch URLs in the form of a comma-separated list of zero or more URLs. If present, Inferno ' \
"will provide an option to use each to launch the app. #{RE_RUN_REGISTRATION_SUFFIX}".freeze
INPUT_SMART_REDIRECT_URIS_DESCRIPTION =
'A comma-separated list of one or more URIs that the app will sepcify as the target of the redirect for ' \
'Inferno to use when providing the authorization code.'
INPUT_SMART_REDIRECT_URIS_DESCRIPTION_LOCKED =
'Registered Redirect URIs in the form of a comma-separated list of one or more URIs. Redirect URIs ' \
"specified in authorization requests must come from this list. #{RE_RUN_REGISTRATION_SUFFIX}".freeze
INPUT_CLIENT_SECRET_DESCRIPTION =
'Provide the client secret that the confidential symmetric client will send with token requests ' \
'to authenticate the client to Inferno.'
INPUT_CLIENT_SECRET_DESCRIPTION_LOCKED =
'The registered client secret that will be provided during token requests to authenticate the client ' \
"to Inferno. #{RE_RUN_REGISTRATION_SUFFIX}".freeze
INPUT_CLIENT_JWKS_DESCRIPTION =
'The SMART client\'s JSON Web Key Set including the key(s) Inferno will need to verify signatures ' \
'on token requests made by the client. May be provided as either a publicly accessible url containing ' \
'the JWKS, or the raw JWKS JSON.'
INPUT_CLIENT_JWKS_DESCRIPTION_LOCKED =
'The SMART client\'s JSON Web Key Set in the form of either a publicly accessible url containing the ' \
'JWKS, or the raw JWKS JSON. Must include the key(s) Inferno will need to verify signatures on token ' \
"requests made by the client. #{RE_RUN_REGISTRATION_SUFFIX}".freeze
INPUT_LAUNCH_CONTEXT_DESCRIPTION =
'Launch context details to be included in access token responses, specified as a JSON array. If provided, ' \
'the contents will be merged into Inferno\'s token responses.'
INPUT_FHIR_USER_RELATIVE_REFERENCE =
'A FHIR relative reference (<resource type>/<id>) for the FHIR user record to return when the openid ' \
'and fhirUser scopes are requested. Include this resource in the **Available Resources** input so ' \
'that it can be accessed via FHIR read.'
INPUT_FHIR_READ_RESOURCES_BUNDLE_DESCRIPTION =
'Resources to make available in Inferno\'s simulated FHIR server provided as a FHIR bundle. Each entry ' \
'must contain a resource with the id element populated. Each instance present will be available for ' \
'retrieval from Inferno at the endpoint: <fhir-base>/<resource type>/<instance id>. These will only ' \
'be available through the read interaction.'
INPUT_ECHOED_FHIR_RESPONSE_DESCRIPTION =
'JSON representation of a default FHIR resource for Inferno to echo when a request is made to the ' \
'simulated FHIR server. Reads targetting resources in the **Available Resources** input will return ' \
'that resource instead of this. Otherwise, the content here will be echoed back exactly and no check ' \
'will be made that it is appropriate for the request made. If nothing is provided, an OperationOutcome ' \
'indicating nothing to echo will be returned.'