-
Notifications
You must be signed in to change notification settings - Fork 711
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
GUACAMOLE-1289: Duo upgrade to API v4 #915
Conversation
Uh-oh, I suspect that I've over-looked something very important, here, in the authentication flow with this module. Since the Duo module is just doing the 2FA verification and not actual authentication, I suspect that this is never going to work as-implemented - that is, the |
Sounds good to me. Does this solve the issue you mention above regarding losing auth state in the redirect to/from Duo?
We've had to fix similar issues before from other dependencies through explicitly choosing a version of the conflicting dependency and adding an override. For example: guacamole-client/extensions/guacamole-auth-sso/modules/guacamole-auth-sso-cas/pom.xml Lines 61 to 67 in e75c79f
guacamole-client/extensions/guacamole-auth-sso/modules/guacamole-auth-sso-cas/pom.xml Lines 113 to 119 in e75c79f
Perhaps that would work here? I don't think we should disable Maven Enforcer for any of the modules, as it exists to prevent weird breakage from occurring when two versions of the same dependency get YOLO'd together in the same classpath, when something expects dependency version X but actually gets version Y, etc. |
I don't think it resolves it...but at the moment I also have an issue with the parameters at redirect ending up after the
Okay, I'll give that a shot. I agree that disabling it completely is probably not the right thing to do. Part of the issue, though, if you read the linked issues, is that the Duo team believes there may be issues with forcing a particular version - that is, I think they want both versions to be available to each of the modules that requires it, and they're hesitant to override it one way or the other. |
Yeah, this is definitely not solved. So, what currently happens is:
So, there's something about that redirect back from the Duo authentication to the Guacamole interface that isn't fully resuming the authentication session. My guess is that the |
I'm unable to get this to work for at least one of the dependencies:
It doesn't matter which version of okhttp I try to provide in the pom.xml file, it still fails with the issue trying to load the dependency. Which is okay for the time being, because I still have to figure out how to handle resuming the entire authentication flow, as the Duo redirect is completely breaking that. |
I've taken a stab at updating the Duo MFA client to use the new API. I'm still in the process of getting my free account set up to test this out, so opening this in draft mode for the time being while I get it tested. A couple of notes for this PR:
SSOAuthenticationSession
and related classes from the SSO base module and put those up inguacamole-ext
so that I can re-use them in the Duo module. It was a reasonably clean move, I think?