smart_app_launch_test_kit 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/smart_app_launch/app_redirect_test.rb +5 -2
- data/lib/smart_app_launch/discovery_group.rb +2 -2
- data/lib/smart_app_launch/ehr_launch_group.rb +2 -2
- data/lib/smart_app_launch/openid_connect_group.rb +4 -4
- data/lib/smart_app_launch/openid_required_configuration_fields_test.rb +1 -1
- data/lib/smart_app_launch/openid_token_header_test.rb +2 -2
- data/lib/smart_app_launch/standalone_launch_group.rb +3 -3
- data/lib/smart_app_launch/token_refresh_group.rb +2 -2
- data/lib/smart_app_launch/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c5933298e16b4e62b1381d8697fe077af1dcd3e953e930f3853fc1d0850d90c
|
4
|
+
data.tar.gz: af74480ebd3eca40306158c0ef47a04f33325fb1a703b645a97344eb799c4cb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 822ea01dd26d84dbd79bb4d24cb45af8fc17e6aeea1522cf668962f5cf245b6fe07c24df658367892ad08f0ae3070e44579560e6a8f3c3b2272e6e971d804f1b
|
7
|
+
data.tar.gz: ddd6263d76f090845a441edc8c103fd1516fc5bb5c7ffcf8de84aee2bac3e706ca3038e60b2e64b13c9a0b989067efe32d3818a32600ac720a46e55885c32ebe
|
@@ -64,7 +64,6 @@ module SMARTAppLaunch
|
|
64
64
|
end
|
65
65
|
|
66
66
|
run do
|
67
|
-
info(config.options[:redirect_uri])
|
68
67
|
assert_valid_http_uri(
|
69
68
|
smart_authorization_url,
|
70
69
|
"OAuth2 Authorization Endpoint '#{smart_authorization_url}' is not a valid URI"
|
@@ -81,7 +80,11 @@ module SMARTAppLaunch
|
|
81
80
|
'aud' => aud
|
82
81
|
}
|
83
82
|
|
84
|
-
|
83
|
+
if config.options[:launch]
|
84
|
+
oauth2_params['launch'] = config.options[:launch]
|
85
|
+
elsif self.class.inputs.include?(:launch)
|
86
|
+
oauth2_params['launch'] = launch
|
87
|
+
end
|
85
88
|
|
86
89
|
if use_pkce == 'true'
|
87
90
|
code_verifier = SecureRandom.uuid
|
@@ -8,7 +8,7 @@ module SMARTAppLaunch
|
|
8
8
|
|
9
9
|
The #{title} Sequence test looks for authorization endpoints and SMART
|
10
10
|
capabilities as described by the [SMART App Launch
|
11
|
-
Framework](
|
11
|
+
Framework](https://www.hl7.org/fhir/smart-app-launch/1.0.0/conformance/index.html).
|
12
12
|
The SMART launch framework uses OAuth 2.0 to *authorize* apps, like
|
13
13
|
Inferno, to access certain information on a FHIR server. The
|
14
14
|
authorization service accessed at the endpoint allows users to give
|
@@ -31,7 +31,7 @@ module SMARTAppLaunch
|
|
31
31
|
|
32
32
|
For more information see:
|
33
33
|
|
34
|
-
* [SMART App Launch Framework](
|
34
|
+
* [SMART App Launch Framework](https://www.hl7.org/fhir/smart-app-launch/1.0.0/conformance/index.html)
|
35
35
|
* [The OAuth 2.0 Authorization Framework](https://tools.ietf.org/html/rfc6749)
|
36
36
|
* [OpenID Connect Core](https://openid.net/specs/openid-connect-core-1_0.html)
|
37
37
|
)
|
@@ -16,7 +16,7 @@ module SMARTAppLaunch
|
|
16
16
|
# Background
|
17
17
|
|
18
18
|
The [EHR
|
19
|
-
Launch](
|
19
|
+
Launch](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#ehr-launch-sequence)
|
20
20
|
is one of two ways in which an app can be launched, the other being
|
21
21
|
Standalone launch. In an EHR launch, the app is launched from an
|
22
22
|
existing EHR session or portal by a redirect to the registered launch
|
@@ -35,7 +35,7 @@ module SMARTAppLaunch
|
|
35
35
|
|
36
36
|
For more information on the #{title} see:
|
37
37
|
|
38
|
-
* [SMART EHR Launch Sequence](
|
38
|
+
* [SMART EHR Launch Sequence](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#ehr-launch-sequence)
|
39
39
|
)
|
40
40
|
|
41
41
|
config(
|
@@ -18,7 +18,7 @@ module SMARTAppLaunch
|
|
18
18
|
|
19
19
|
OpenID Connect (OIDC) provides the ability to verify the identity of the
|
20
20
|
authorizing user. Within the [SMART App Launch
|
21
|
-
Framework](
|
21
|
+
Framework](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html), Applications can
|
22
22
|
request an `id_token` be provided with by including the `openid fhirUser`
|
23
23
|
scopes when requesting authorization.
|
24
24
|
|
@@ -36,9 +36,9 @@ module SMARTAppLaunch
|
|
36
36
|
|
37
37
|
For more information see:
|
38
38
|
|
39
|
-
* [SMART App Launch Framework](
|
40
|
-
* [Scopes for requesting identity data](
|
41
|
-
* [Apps Requesting Authorization](
|
39
|
+
* [SMART App Launch Framework](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html)
|
40
|
+
* [Scopes for requesting identity data](https://www.hl7.org/fhir/smart-app-launch/1.0.0/scopes-and-launch-context/index.html#scopes-for-requesting-identity-data)
|
41
|
+
* [Apps Requesting Authorization](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#step-1-app-asks-for-authorization)
|
42
42
|
* [OpenID Connect Core](https://openid.net/specs/openid-connect-core-1_0.html)
|
43
43
|
)
|
44
44
|
|
@@ -9,7 +9,7 @@ module SMARTAppLaunch
|
|
9
9
|
`id_token_signing_alg_values_supported`.
|
10
10
|
|
11
11
|
Additionally, the [SMART App Launch
|
12
|
-
Framework](
|
12
|
+
Framework](https://www.hl7.org/fhir/smart-app-launch/1.0.0/scopes-and-launch-context/index.html#scopes-for-requesting-identity-data)
|
13
13
|
requires that the RSA SHA-256 signing algorithm be supported.
|
14
14
|
)
|
15
15
|
|
@@ -3,9 +3,9 @@ module SMARTAppLaunch
|
|
3
3
|
id :smart_openid_token_header
|
4
4
|
title 'ID token header contains required information'
|
5
5
|
description %(
|
6
|
-
Verify that the id token header indicates that the
|
6
|
+
Verify that the id token header indicates that the token is signed using
|
7
7
|
RSA SHA-256 [as required by the SMART app launch
|
8
|
-
framework](
|
8
|
+
framework](https://www.hl7.org/fhir/smart-app-launch/1.0.0/scopes-and-launch-context/index.html#scopes-for-requesting-identity-data)
|
9
9
|
and that the key used to sign the token can be identified in the JWKS.
|
10
10
|
)
|
11
11
|
|
@@ -14,8 +14,8 @@ module SMARTAppLaunch
|
|
14
14
|
# Background
|
15
15
|
|
16
16
|
The [Standalone
|
17
|
-
Launch](
|
18
|
-
|
17
|
+
Launch Sequence](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#standalone-launch-sequence)
|
18
|
+
allows an app, like Inferno, to be launched independent of an
|
19
19
|
existing EHR session. It is one of the two launch methods described in
|
20
20
|
the SMART App Launch Framework alongside EHR Launch. The app will
|
21
21
|
request authorization for the provided scope from the authorization
|
@@ -31,7 +31,7 @@ module SMARTAppLaunch
|
|
31
31
|
|
32
32
|
For more information on the #{title}:
|
33
33
|
|
34
|
-
* [Standalone Launch Sequence](
|
34
|
+
* [Standalone Launch Sequence](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#standalone-launch-sequence)
|
35
35
|
)
|
36
36
|
|
37
37
|
config(
|
@@ -18,7 +18,7 @@ module SMARTAppLaunch
|
|
18
18
|
|
19
19
|
Token refreshes are accomplished through a `POST` request to the token
|
20
20
|
exchange endpoint as described in the [SMART App Launch
|
21
|
-
Framework](
|
21
|
+
Framework](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#step-5-later-app-uses-a-refresh-token-to-obtain-a-new-access-token).
|
22
22
|
|
23
23
|
# Test Methodology
|
24
24
|
|
@@ -31,7 +31,7 @@ module SMARTAppLaunch
|
|
31
31
|
* [The OAuth 2.0 Authorization
|
32
32
|
Framework](https://tools.ietf.org/html/rfc6749)
|
33
33
|
* [Using a refresh token to obtain a new access
|
34
|
-
token](
|
34
|
+
token](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#step-5-later-app-uses-a-refresh-token-to-obtain-a-new-access-token)
|
35
35
|
)
|
36
36
|
|
37
37
|
test from: :smart_token_refresh
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smart_app_launch_test_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen MacVicar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inferno_core
|