Skip to content
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

feat: on ACR change keep authentication context if custom script allows to do this #1743

Open
yurem opened this issue Oct 24, 2022 · 0 comments
Assignees

Comments

@yurem
Copy link
Contributor

yurem commented Oct 24, 2022

Currently on ACR change when client force to user re-authentication with script which has bigger priory server clean authentication context. We can keep it in some case to allow new ACR to reuse this data. For example, to skip user/pwd authentication step.

In order to to this we need to add new method to authentication script:

    boolean keepContextOnNewRequest<String, SimpleCustomProperty> configurationAttributes, Map<String, String[]> requestParameters, Map<String, String> sessionIdAttributess, String currentAcr, String newAcr);

Server should call this method only if script getApiVersion() > 14 in order to avoid issues with existing scripts which not have this method.

If keepContextOnRequest returns True server should mark session context as unauthenticated and call authenticator to resume flow. Inside this method script can call identity.getWorkingParameters() to reconfigure authentication context. For example clean data for all steps except user/pwd authentication steps. Also script can modify sessionIdAttributess to start authentication from specific step.
In other case server should do same flow which it has now.

@yurem yurem changed the title feat: on ACR change keep authentication context if cusome script allows to do this feat: on ACR change keep authentication context if custom script allows to do this Oct 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants