diff --git a/specification/index.md b/specification/index.md index b8405c9..ef781d4 100644 --- a/specification/index.md +++ b/specification/index.md @@ -231,13 +231,98 @@ the SMART application is already known. Examples of such scenarios include: ###2.1.2 Authorization Request### SMART applications __SHALL__ utilize an [authorization code grant][4] to request authorization to FHIR -resources. A SMART application __SHOULD__ request scopes needed to access the resource (per the [scopes](#3) -section) for maximum interoperability. The application __MAY__ choose to omit the redirect URI, as SMART -registration is limited to a single redirect URI for SMART applications. - -In addition, SMART applications __MUST__ send the "state" parameter, as detailed in the +resources. The request for authorization will include the following parameters: + +
Parameters | + + +||
---|---|---|
response_type |
+ required | +Fixed value: code . |
+
client_id |
+ required | +The client's identifier. | +
redirect_uri |
+ required | +Must match one of the client's pre-registered redirect URIs. | +
launch |
+ optional | +When using the EHR launchflow, this must match the launch value received from the EHR. | +
scope |
+ required | +
+
+Must describe the access that the app needs, including clinical data scopes like
+patient/*.read , openid and profile (if app
+needs authenticated patient identity) and either:
+
+
|
+
state |
+ required | ++ +An opaque value used by the client to maintain state between the request and +callback. The authorization server includes this value when redirecting the +user-agent back to the client. The parameter MUST be used for preventing +cross-site request forgery or session fixation attacks, as detailed in the [OAuth 2.0 Security Considerations][5]. + | +
aud |
+ required | +
+
+URL of the EHR resource server from which the app wishes to retrieve FHIR data.
+This parameter prevents leaking a genuine bearer token to a counterfeit
+resource server. (Note: in the case of an EHR launch
+flow, this aud value is the same as the launch's iss value.)
+
+ |
+