-
Notifications
You must be signed in to change notification settings - Fork 23
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
Authorization request - 302 redirect response #132
Comments
|
You say
I agree with this, but for this very reason I don't see the point of using a 302 redirect if what the app needs to do is extract the parameters and not follow the redirect. For this reason my proposal was to avoid using a useless redirect (which only applies to the web) and to have something more structured and understandable for the world of apps. Said that, it would be fine to also use
or as you suggest a |
We agreed on using https://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html and |
OK @peppelinux I changed the original post to what the |
You can use form post and JARM as this are legitimate options. Just be aware making this an interoperable solution would any issuer to support it. |
The problem Is not parsing the URL query parameter but the way JS (as happens in the user agents with Ajax) automatically follow the 302 url found, making It tricky to intercept the http status code and then stop the flow for doing parsing |
Would be interesting to learn how other JS implementers cope with that, I mean redirects are nothing new. I reached out to some folks in the community to get their feedback. |
@tlodderstedt In javascript it is possible to block redirects and therefore obtain the URL to parse. This can be done by setting the redirect parameter to manual. The problem is on react-native (in our specific case) where manual redirect is not supported therefore it is not possible to block the follow of the redirect to obtain the URL to be parsed. |
AFAIK the technical strategy is Always possible, for example in the user agents we would be forced to implement approaches that may vary over time. It was a convention before the come of the fetch api. The scope of this issue Is to explore a way to give/get to/from the specs the most convenient way to keep easy the implementations Any comments will be appreciated, thx! |
For interop requirements I think that this feature should be published within the Wallet Instance Attestation, with the member name response_modes_supported |
@peppelinux #136 resolves your comment |
Even if technically by pagopa/io-react-native-wallet#47 this issue represent a critical issue for the interoperability with other wallet solutions and RPs for this reason this issue is kept open |
I suggest to specifyng a claim "response_mode" inside the request object of the PAR Request, according to OAuth 2.0 Multiple Response Type Encoding Practices. It's useful to replicate for the PAR Request what the spec openid-connect-core-1_0-errata2.html#AuthRequest suggests for the OAuth 2.0 Authorization Request. Usable mechanisms:
The claim "response_modes_supported" inside the Wallet Instance Attestation, according to RFC8414, must to contains a list of OAuth2 response_mode values supported by the Wallet Instance when the Wallet Instance works as an authorization server. |
Currently in the PID issuing flow and more specifically for the authorization request the response to the authorization endpoint (
GET /authorize
) is a 302 redirect towards the Wallet Instance (the app itself that is requesting access).eudi-wallet-it-docs/docs/en/pid-eaa-issuance.rst
Line 222 in 84c2646
Since:
We were thinking if it was possible to replace the responses given by the authorization request in something like "JARM"
form_post.jwt
.So I propose to change the response from:
to:
Where the decoded response JWT is as follows:
The text was updated successfully, but these errors were encountered: