You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The client metadata document MUST contain a `client_id` property whose value
161
-
MUST compare and match the URL of the document using simple string comparison as
184
+
MUST compare and match the URL of the document prefixed with
185
+
`client-id-metadata-document:`using simple string comparison as defined in
186
+
[RFC3986] Section 6.2.1.
187
+
188
+
If the `client_id` used with the authorization server does not use the
189
+
`client-id-metadata-document:`scheme, then the `client_id` property MUST
190
+
compare and match the URL of the document using simple string comparison as
162
191
defined in [RFC3986] Section 6.2.1.
163
192
164
193
The client metadata document MAY define additional properties in the response.
165
194
The client metadata document MAY also be served with more specific content types
166
195
as long as the response is JSON and conforms to `application/<AS-defined>+json`.
167
196
197
+
All URLs contained within the Client ID Metadata Document must be absolute and
198
+
SHOULD NOT use the `data:` or `javascript:` scheme.
199
+
168
200
As there is no way to establish a shared secret to be used with client metadata
169
-
documents, the following restrictions apply on the contents of the
170
-
client metadata document:
201
+
documents, the following restrictions apply on the contents of the client metadata
202
+
document:
171
203
172
204
* the `token_endpoint_auth_method` property MUST NOT include `client_secret_post`
173
205
or `client_secret_basic`
@@ -176,21 +208,25 @@ or `client_secret_basic`
176
208
See {{client_authentication}} for more details.
177
209
178
210
Other specifications MAY place additional restrictions on the contents of the
179
-
client metadata document accepted by authorization servers implementing their
211
+
client ID metadata document accepted by authorization servers implementing their
180
212
specification, for instance, preventing the registration of confidential clients
181
213
by requiring the `token_endpoint_auth_method` property be set to `"none"`.
182
214
183
215
TBD: We may want a property such as `client_id_expires_at` for indicating that the client is ephemeral and not valid after a given timestamp, especially for documents issued by a service for development purposes.
184
216
185
-
## Metadata Discovery Errors
217
+
## Client Metadata Discovery Errors
186
218
187
219
If fetching the metadata document fails, the authorization server SHOULD abort the
The authorization server MAY cache the client metadata it discovers at the
193
-
client metadata document URL.
225
+
client metadata document URL. The authorization server SHOULD respect the
226
+
cache-control headers returned by the server serving the client ID metadata
227
+
document.
228
+
229
+
TBD: Is there an RFC we should reference with regards to cache-control headers?
194
230
195
231
TBD: recommend a cache lifetime? considerations about stale data?
196
232
@@ -221,6 +257,9 @@ Authorization servers that publish Authorization Server Metadata {{RFC8414}} MUS
221
257
222
258
This enables clients to avoid sending the user to a dead end, by only redirecting the user to an authorization server that supports this specification. Otherwise, the client would redirect the user and the user would be met with an error about an invalid client as described by Section 4.1.2.1 of {{RFC6749}}.
223
259
260
+
The `client_id_prefixes_supported` property of the Authorization Server Metadata {{RFC8414}} SHOULD include `client-id-metadata-document` if following {{I-D.draft-parecki-oauth-client-id-prefix}}.
261
+
262
+
TBD: Do we need this paragraph, or is defining it in the IANA considerations enough?
224
263
225
264
# Security Considerations
226
265
@@ -283,11 +322,21 @@ Caching of the `logo_uri` response can additionally prevent cross-domain trackin
283
322
284
323
The following authorization server metadata value is defined by this specification and registered in the IANA "OAuth Authorization Server Metadata" registry established in OAuth 2.0 Authorization Server Metadata [RFC8414].
0 commit comments