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

FI 3093: Transition to use auth info (WIP) #84

Open
wants to merge 24 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
2dcd49b
update to use authinfo instead of oauth_credentials in stu1 for acces…
vanessuniq Nov 13, 2024
7bd36d2
Add authinfo feature flag
vanessuniq Nov 21, 2024
bed180d
Updated smart stu1 to use auth_info feature
vanessuniq Dec 3, 2024
1554742
Updated spec
vanessuniq Dec 4, 2024
3ae35d9
removed auth_info feature flag and updated stu1 spec
vanessuniq Dec 5, 2024
5e898bf
Updated stu2 to use auth_info
vanessuniq Dec 6, 2024
70e3a86
Updated stu2.2 to use auth_info
vanessuniq Dec 6, 2024
b3cbc8f
stu1 update, extracting additional auth_info fields
vanessuniq Dec 16, 2024
d9b8e28
stu2 update, extracting additional auth_info fields
vanessuniq Dec 16, 2024
86090ae
stu2.2 update, extracting additional auth_info fields
vanessuniq Dec 16, 2024
29dab0d
STU1: moved auth_info config to well known enpoint test
vanessuniq Dec 16, 2024
a408ca2
updated presets
vanessuniq Dec 17, 2024
b4dc556
refactored #signing_key
vanessuniq Dec 17, 2024
8fe6645
minor refactor, addressing review comments
vanessuniq Dec 18, 2024
91fae18
removed type field from the auth_info auth_type component
vanessuniq Dec 18, 2024
eaecea1
bump kit and core version
vanessuniq Dec 19, 2024
a5de2fa
bump core version
vanessuniq Dec 19, 2024
0e55d75
handle different cases for request method
Jammjammjamm Jan 2, 2025
7733802
rename remaining smart_credentials inputs
Jammjammjamm Jan 2, 2025
6e48013
update stu1 for new core input behavior
Jammjammjamm Jan 10, 2025
740706a
update stu2 for new core input behavior
Jammjammjamm Jan 10, 2025
8a3abcc
update stu2_2 for new core input behavior
Jammjammjamm Jan 10, 2025
bfeeb4e
remove unnecessary config
Jammjammjamm Jan 10, 2025
681bf12
lock use discovery for auth inputs
Jammjammjamm Jan 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1 +1 @@
JS_HOST=""
JS_HOST=""
3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ source "https://rubygems.org"

gemspec

gem 'inferno_core',
path: '../inferno'

group :development, :test do
gem 'debug'
end
61 changes: 33 additions & 28 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,8 +1,38 @@
PATH
remote: ../inferno
specs:
inferno_core (0.5.4)
activesupport (~> 6.1.7.5)
base62-rb (= 0.3.1)
blueprinter (= 0.25.2)
dotenv (~> 2.7)
dry-configurable (= 1.0.0)
dry-container (= 0.10.0)
dry-core (= 1.0.0)
dry-inflector (= 1.0.0)
dry-system (= 1.0.0)
faraday (~> 1.2)
faraday_middleware (~> 1.2)
fhir_client (>= 5.0.3)
fhir_models (>= 4.2.2)
hanami-controller (= 2.0.0)
hanami-router (= 2.0.0)
oj (= 3.11.0)
pastel (~> 0.8.0)
pry
pry-byebug
puma (~> 5.6.7)
rake (~> 13.0)
sequel (~> 5.42.0)
sidekiq (~> 7.2.4)
sqlite3 (~> 1.4)
thor (~> 1.2.1)
tty-markdown (~> 0.7.1)

PATH
remote: .
specs:
smart_app_launch_test_kit (0.4.6)
inferno_core (>= 0.4.2)
smart_app_launch_test_kit (0.5.0.dev)
json-jwt (~> 1.15.3)
jwt (~> 2.6)
tls_test_kit (~> 0.2.0)
Expand Down Expand Up @@ -138,32 +168,6 @@ GEM
httpclient (2.8.3)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
inferno_core (0.4.43)
activesupport (~> 6.1.7.5)
base62-rb (= 0.3.1)
blueprinter (= 0.25.2)
dotenv (~> 2.7)
dry-configurable (= 1.0.0)
dry-container (= 0.10.0)
dry-core (= 1.0.0)
dry-inflector (= 1.0.0)
dry-system (= 1.0.0)
faraday (~> 1.2)
faraday_middleware (~> 1.2)
fhir_client (>= 5.0.3)
fhir_models (>= 4.2.2)
hanami-controller (= 2.0.0)
hanami-router (= 2.0.0)
oj (= 3.11.0)
pry
pry-byebug
puma (~> 5.6.7)
rake (~> 13.0)
sequel (~> 5.42.0)
sidekiq (~> 7.2.4)
sqlite3 (~> 1.4)
thor (~> 1.2.1)
tty-markdown (~> 0.7.1)
io-console (0.7.2)
irb (1.13.2)
rdoc (>= 4.0.0)
Expand Down Expand Up @@ -303,6 +307,7 @@ DEPENDENCIES
database_cleaner-sequel (~> 1.8)
debug
factory_bot (~> 6.1)
inferno_core!
rack-test (~> 1.1.0)
rspec (~> 3.10)
smart_app_launch_test_kit!
Expand Down
93 changes: 6 additions & 87 deletions config/presets/inferno_reference_server_preset.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,95 +9,14 @@
"value": "https://inferno.healthit.gov/reference-server/r4"
},
{
"name": "standalone_client_id",
"type": "text",
"value": "SAMPLE_PUBLIC_CLIENT_ID"
},
{
"name": "standalone_requested_scopes",
"type": "text",
"value": "launch/patient openid fhirUser offline_access patient/*.read"
},
{
"name": "use_pkce",
"type": "radio",
"title": "Proof Key for Code Exchange (PKCE)",
"options": {
"list_options": [
{
"label": "Enabled",
"value": "true"
},
{
"label": "Disabled",
"value": "false"
}
]
},
"value": "false"
},
{
"name": "pkce_code_challenge_method",
"type": "radio",
"optional": true,
"title": "PKCE Code Challenge Method",
"options": {
"list_options": [
{
"label": "S256",
"value": "S256"
},
{
"label": "plain",
"value": "plain"
}
]
},
"value": "S256"
},
{
"name": "client_auth_type",
"value": "public",
"_title": "Client Authentication Method",
"_type": "radio",
"_options": {
"list_options": [
{
"label": "Public",
"value": "public"
},
{
"label": "Confidential Symmetric",
"value": "confidential_symmetric"
},
{
"label": "Confidential Asymmetric",
"value": "confidential_asymmetric"
}
]
}
"name": "standalone_smart_auth_info",
"type": "auth_info",
"value": "{\"auth_type\":\"public\",\"use_discovery\":\"true\",\"requested_scopes\":\"launch/patient openid fhirUser offline_access patient/*.read\",\"client_id\":\"SAMPLE_PUBLIC_CLIENT_ID\",\"pkce_support\":\"disabled\",\"auth_request_method\":\"GET\"}"
},
{
"name": "standalone_client_secret",
"type": "text",
"optional": true,
"value": null
},
{
"name": "ehr_client_id",
"type": "text",
"value": "SAMPLE_PUBLIC_CLIENT_ID"
},
{
"name": "ehr_requested_scopes",
"type": "text",
"value": "launch openid fhirUser offline_access user/*.read"
},
{
"name": "ehr_client_secret",
"type": "text",
"optional": true,
"value": null
"name": "ehr_smart_auth_info",
"type": "auth_info",
"value": "{\"auth_type\":\"public\",\"use_discovery\":\"true\",\"requested_scopes\":\"launch openid fhirUser offline_access user/*.read\",\"client_id\":\"SAMPLE_PUBLIC_CLIENT_ID\",\"pkce_support\":\"disabled\",\"auth_request_method\":\"GET\"}"
}
]
}
80 changes: 9 additions & 71 deletions config/presets/inferno_reference_server_stu2_2_preset.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,81 +9,19 @@
"value": "https://inferno.healthit.gov/reference-server/r4"
},
{
"name": "standalone_client_id",
"type": "text",
"value": "SAMPLE_PUBLIC_CLIENT_ID"
},
{
"name": "standalone_requested_scopes",
"type": "text",
"value": "launch/patient openid fhirUser offline_access patient/*.read"
},
{
"name": "standalone_client_secret",
"type": "text",
"optional": true,
"value": null
"name": "standalone_smart_auth_info",
"type": "auth_info",
"value": "{\"auth_type\":\"public\",\"use_discovery\":\"true\",\"requested_scopes\":\"launch/patient openid fhirUser offline_access patient/*.rs\",\"client_id\":\"SAMPLE_PUBLIC_CLIENT_ID\",\"pkce_support\":\"enabled\",\"pkce_code_challenge_method\":\"S256\",\"auth_request_method\":\"GET\"}"
},
{
"name": "ehr_client_id",
"type": "text",
"value": "SAMPLE_PUBLIC_CLIENT_ID"
"name": "ehr_smart_auth_info",
"type": "auth_info",
"value": "{\"auth_type\":\"public\",\"use_discovery\":\"true\",\"requested_scopes\":\"launch openid fhirUser offline_access user/*.rs\",\"client_id\":\"SAMPLE_PUBLIC_CLIENT_ID\",\"pkce_support\":\"enabled\",\"pkce_code_challenge_method\":\"S256\",\"auth_request_method\":\"GET\"}"
},
{
"name": "ehr_requested_scopes",
"type": "text",
"value": "launch openid fhirUser offline_access user/*.read"
},
{
"name": "ehr_client_secret",
"type": "text",
"optional": true,
"value": null
},
{
"name": "client_auth_encryption_method",
"value": "ES384",
"_title": "Encryption Method (Confidential Asymmetric Client Auth Only)",
"_type": "radio",
"_options": {
"list_options": [
{
"label": "ES384",
"value": "ES384"
},
{
"label": "RS384",
"value": "RS384"
}
]
}
},
{
"name": "client_auth_type",
"value": "public",
"_title": "Client Authentication Method",
"_type": "radio",
"_options": {
"list_options": [
{
"label": "Public",
"value": "public"
},
{
"label": "Confidential Symmetric",
"value": "confidential_symmetric"
},
{
"label": "Confidential Asymmetric",
"value": "confidential_asymmetric"
}
]
}
},
{
"name": "backend_services_client_id",
"type": "text",
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
"name": "backend_services_smart_auth_info",
"type": "auth_info",
"value": "{\"auth_type\":\"backend_services\",\"use_discovery\":\"true\",\"requested_scopes\":\"system/*.read\",\"client_id\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4\",\"encryption_algorithm\":\"ES384\"}"
}
]
}
80 changes: 9 additions & 71 deletions config/presets/inferno_reference_server_stu2_preset.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,81 +9,19 @@
"value": "https://inferno.healthit.gov/reference-server/r4"
},
{
"name": "standalone_client_id",
"type": "text",
"value": "SAMPLE_PUBLIC_CLIENT_ID"
},
{
"name": "standalone_requested_scopes",
"type": "text",
"value": "launch/patient openid fhirUser offline_access patient/*.read"
},
{
"name": "standalone_client_secret",
"type": "text",
"optional": true,
"value": null
"name": "standalone_smart_auth_info",
"type": "auth_info",
"value": "{\"auth_type\":\"public\",\"use_discovery\":\"true\",\"requested_scopes\":\"launch/patient openid fhirUser offline_access patient/*.rs\",\"client_id\":\"SAMPLE_PUBLIC_CLIENT_ID\",\"pkce_support\":\"enabled\",\"pkce_code_challenge_method\":\"S256\",\"auth_request_method\":\"GET\"}"
},
{
"name": "ehr_client_id",
"type": "text",
"value": "SAMPLE_PUBLIC_CLIENT_ID"
"name": "ehr_smart_auth_info",
"type": "auth_info",
"value": "{\"auth_type\":\"public\",\"use_discovery\":\"true\",\"requested_scopes\":\"launch openid fhirUser offline_access user/*.rs\",\"client_id\":\"SAMPLE_PUBLIC_CLIENT_ID\",\"pkce_support\":\"enabled\",\"pkce_code_challenge_method\":\"S256\",\"auth_request_method\":\"GET\"}"
},
{
"name": "ehr_requested_scopes",
"type": "text",
"value": "launch openid fhirUser offline_access user/*.read"
},
{
"name": "ehr_client_secret",
"type": "text",
"optional": true,
"value": null
},
{
"name": "client_auth_encryption_method",
"value": "ES384",
"_title": "Encryption Method (Confidential Asymmetric Client Auth Only)",
"_type": "radio",
"_options": {
"list_options": [
{
"label": "ES384",
"value": "ES384"
},
{
"label": "RS384",
"value": "RS384"
}
]
}
},
{
"name": "client_auth_type",
"value": "public",
"_title": "Client Authentication Method",
"_type": "radio",
"_options": {
"list_options": [
{
"label": "Public",
"value": "public"
},
{
"label": "Confidential Symmetric",
"value": "confidential_symmetric"
},
{
"label": "Confidential Asymmetric",
"value": "confidential_asymmetric"
}
]
}
},
{
"name": "backend_services_client_id",
"type": "text",
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
"name": "backend_services_smart_auth_info",
"type": "auth_info",
"value": "{\"auth_type\":\"backend_services\",\"use_discovery\":\"true\",\"requested_scopes\":\"system/*.read\",\"client_id\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4\",\"encryption_algorithm\":\"ES384\"}"
}
]
}
Loading
Loading