-
Notifications
You must be signed in to change notification settings - Fork 75
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
Bug: authorization requests without acr_values and with enabled custom authn scripts fail #791
Comments
After a couple of tests in Suggestion is to have that authn script properly or define |
Hi @Milton-Ch Kindly let us know if there is any difference in the way the person_authentication scripts work in Gluu CE and jans servers. |
There is one addition to this issue. In description we should mention that client configured to use Current AS code adds to allowed acr_values This added because I think we need to improve acr_values selection algorithm to use next acr_values with higher priority if What do you think? |
I agree that the AS admin should explitly allow In oxAuth we had a way to configure a "Default acr" at the system level. So if a client does not specify If there is no available acr that is specified by the client (either in the request or client config), and no default acr is specified at the system level... what then? I think it would be prudent to present an available acr based on the highest 'level'. |
Ok, so just to confirm, in case client doesn't send acr param in authz url and default acr script doesn't exist, we should use the highest level script, right? not sure how backward compatible this is, but we could proceed with this if you agree. |
In addition to the authz param, the client might have a default acr configured. Right now, I'm not sure what the expected behavior would be if there is no default acr, and there is no acr specified in the client or request. Does it throw an error? Presenting the most secure authn workflow would surely be better then an error. |
Yes, in such scenario, currently we are throwing an exception with access denied error to the caller. It would be a kind of confusing concept this flow: if client sends |
RP can use But it's good discussion. In our script there are methods |
I see, not sure whether that option works for @mo-auto @duttarnab RP would take the decision whether to use casa, otp or any other script based on level which is available in discovery endpoint, that means that AS wouldn't take an automatic decision about which script should be used. |
Here is the priority:
I don't understand why this approach would be either non-backwards compatible, or contrary to common sense. |
Ok, considering it, points 1, 2 and 3 are already implemented as expected, about point 4 is partially implemented, let me explain the two concepts here:
The special situation in the case reported here is that client doesn't send acr param, but since client has default acr set to
Basically, there is a difference when acr has a value (could be via param, client default or AS default) and when acr is null for all cases, in which case AS uses highest level script. |
This is really a corner case. I think its ok to ignore the client param or default if the AS has no such script. But we could make a JSON property called |
Ok, makes sense, I'll summarize it in the thread and will work on this change accordingly, thanks! |
In case script is not found (is not enabled or this doesn't exist), AS uses highest level script. |
Describe the bug
basic
(or any other script) and set acr it worksbasic
but without acr set, it failsStep 1
Step 2
Step 3
The text was updated successfully, but these errors were encountered: