-
Notifications
You must be signed in to change notification settings - Fork 15
Test OP-prompt-none-LoggedIn does not return status on error and potentially violates rfc8252#8.6 #97
Comments
For the record, you're referring to e.g. an Implicit flow where the client is not authenticated. It seems you're right and there should be different accepted behavior for Implicit/Hybrid and Code flows since "consent_required" is an option in the spec. Currently the test suite only accepts successful authentication attempts for all response types. @selfissued and @rohe can you comment? |
Thank you for the response @zandbelt , you described the issue perfectly. |
Returning a non-successful response for prompt=none when logged in defeats the purpose of the feature: being able to silently confirm that the end-user is logged in. The test suite is correct in verifying that the OP returns success in this case. To be certified, the software has to implement prompt=none in the intended fashion. |
That's why the suite runs a regular authentication request first, to make sure any OP can authenticate the current session according to its policies and allow e.g. the client_id or a combination of client_id and redirect_uri for subsequent "none" silent requests to enable token renewals and "is the user still logged in" requests. |
correct OAuth behavior test descriptions
I'm trying to perform the
OP-prompt-none-LoggedIn
which, in my implementation, returns anconsent_required
error. It returns that error because of the following:Source: https://tools.ietf.org/html/rfc8252#section-8.6
If I'm reading this correctly, then public clients that use, for example, the implicit grant have to regain consent from the user. An exception to that rule is ("MAY") when the
https
scheme is set in the redirect URL.My implementation, currently, returns an
consent_required
at all times. However, in the UI I can neither see a stack trace nor does the status indicate that the test ran.Here's a screen recording of that flow:
Login is skipped in the first step as the user is authenticated already.
In the screens that follow you can clearly see that
error=consent_required
is returned:But the status in the tool hasn't updated:
Maybe I'm reading the spec here incorrectly in which case I'll remove the
consent_required
.Nonetheless, the UI should return a status result here even if an error occurred.
The text was updated successfully, but these errors were encountered: