Implementation Guidance Index> Connectivity Summary
Connectivity Summary
Token requirements and specs:
Please note that the base standards have many of claims/parameters optional to achieve best interoperability and cover broader use cases. However, Ontario Health will make most of registered claim/parameter mandatory and to be validated to enhance security.
https://openid.net/specs/openid-connect-core-1_0.html#IDToken
https://openid.net/specs/openid-heart-oauth2-1_0.html#JWTBearerTokens
Table: JWT Query Data
Data Element | Definition | Type | Optionality | Length | Example |
---|---|---|---|---|---|
jti | Unique Token ID- will be generated by application | ST | Mandatory | 1..40 | |
org | The name of original organization the application is associated with | ST | Optional | 1..70 | University Health Network |
app | The name of application used for the access | ST | Mandatory | 1..50 | Medly |
appVersion | The version of the application | ST | Mandatory | 1..10 | 1.03 |
sub | The login ID of the user initiating the login request | ST | Mandatory | 1..50 | jasmith@myhealthapp.com |
idp | Identify provider- work with eHealth Ontario to assign IDP | ST | Mandatory | 1..255 | http://ehealthontario.ca/fhir/NamingSystem/idp-medly |
prn | Name of the user (principal , as defined in https://openid.net/specs/draft-jones-json-web-token-07.html | ST | Mandatory | 1..75 | John Smith |
usertype | Type of the user, P (patient) or D (delegate). | ST | Mandatory | 1..1 | P |
aud | Identifier of the user. Should represent the same value as the one present in the FHIR query string | ST | Mandatory | 1..90 | |
exp | Token expiration time (Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.) | NM | Mandatory | 1..20 | |
iat | Issued time (Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.) | NM | Mandatory | 1..20 | 1444143566 |
JWT Header
Data Element | Definition | Type | Optionality |
---|---|---|---|
alg | Algorithm used. As defined in https://tools.ietf.org/html/rfc7515#page-10 This has to be set to "RS256" | ST | Mandatory |
kid | Key ID used to secure the token, as defined in https://tools.ietf.org/html/rfc7515#page-11 ST | Optional | |
x5t | Certificate thumbprint used to sign the token, as defined in https://tools.ietf.org/html/rfc7515#page-12 | ST | Mandatory |
typ | Type of the token. As defined in: https://tools.ietf.org/html/rfc7515#page-12 always set to “JWT” | ST | Mandatory |
Samples:
Introspection response: Note the response body is a JSON object with flat parameters describing the token. We can also choose to embed ID Token with "id_token" parameter inside the JSON object.
HTTP/1.1 200 OK
Content-Type: application/json
{
"active": true,
"iss": "https://federationbroker.ehealthontario.ca/fed/oidc",
"aud": "https://provider.ehealthontario.ca",
"azp": "https://olisviewlet.ehealthontario.ca",
"sub": "id-iqT8SOKInhlsCsNd-Cemqk—Hjo-",
"scope": "user/Observation.read filter/COVID19",
"iat": 1444143566,
"exp": 1444147166,
"jti": "2402f87c-b6ce-45c4-95b0-7a3f2904997f",
"token_type": "bearer",
"client_id": "https://olisviewlet.ehealthontario.ca",
"uao": "2.16.840.1.113883.3.239.9:1234567890123",
"uaoType ": "org",
"uaoName": "North York General",
"given_name": "John",
"family_name": "Smith",
"rid": "2.16.840.1.113883.4.347:123",
"email": "john.smith@northyorkgeneral.ca",
"Idp": "2.16.840.1.113883.3.239.23.99999",
"obo": 2.16.840.1.113883.4.347:456",
“profile”:”http://ehealthontario.ca/StructureDefinition/ca-on-lab-profile-DiagnosticReport”,
“version”:”1.0”,
“cntx_ssn”:”5443234343243432”
}
Inactive token response: Inactive token response will only contain the inactive status of false as follows:
HTTP/1.1 200 OK
Content-Type: application/json
{
"active": false
}