Replies: 2 comments 4 replies
-
|
The way this is implemented in oidc-provider is very much intentional, functional, and exactly within the parameters (MAY is not a mandate) of the specification and best practices.
This is not entirely true. You can already provide multiple
This is not true, when multiple resource parameters are provided all of them are available after parsing in ctx.oidc.params and it is the job of the |
Beta Was this translation helpful? Give feedback.
-
I'm understand your point of view and that is consistent with RFC8707 3. Security Considerations which encourages only a single resource parameter in a token request. As the RFC8707 doesn't forbid multiple resource parameter in a token request: I think it's essential that Indeed, your work is the reference of AS in node ecosystem and it should implement all usecases envisaged by specs supported like the RFC8707. Would you be ready to go further about multiple resource parameter in a token request ? Indeed I'm starting to work on that and I would like to know if you are open to any potential contributions for this usecase. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
According to RFC 8707 §2 — Resource Indicators for OAuth 2.0
Currently, node-oidc-provider accepts only a single
resourcevalue in token and authorization requests.When multiple
resourceparameters are provided, only one (usually the last) is parsed and exposed toctx.oidc.resourceandgetResourceServerInfo.This limits spec compliance and makes it impossible to issue multi-audience tokens across multiple protected APIs managed under one Authorization Server.
Why / What for
resourceparameters.files,billing,analytics) under a single AS.audarray).Example
Expected behavior:
ctx.oidc.resourceshould contain all resource values.getResourceServerInfo(ctx, resourceIndicator, client)should be called for each.audas an array if the AS deems appropriate.Actual behavior:
Possible implementation direction
ctx.oidc.resourceto be an array.panva/josealready supportsaudarrays, so JWT generation doesn’t require special handling beyond normalization.References
Beta Was this translation helpful? Give feedback.
All reactions