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

Lowercasing URLs in OIDC discovery endpoint causes compatibility issues with custom thirdparty SSO #537

Open
gaurpulkit opened this issue Oct 30, 2024 · 2 comments · May be fixed by #565
Open
Assignees

Comments

@gaurpulkit
Copy link

In the get_oidc_discovery_info function, while doing npath = NormalisedURLPath(issuer), it converts the URL to lowercase, resulting in an error for Duo SSO's OIDC discovery endpoint as the lowercased URL doesn't work.

I removed the lower method from this line

def normalise_url_path_or_throw_error(input_str: str) -> str:
    input_str = input_str.strip().lower()

and then it started working fine.

@namsnath
Copy link
Contributor

Hi @gaurpulkit ,
Could you give us a reproducer for this issue?
A snippet of the provider you're trying to setup and the URL being passed to the normalise_url_path_or_throw_error would help.

The fix for your issue is quite straightforward as seen in your PR, but the impacts might be far-reaching and would need to be made consistent across our SDKs.

@gaurpulkit
Copy link
Author

Hi @namsnath ,

You can create a Cisco Duo account and attempt to set up authentication using the OIDC discovery endpoint they provide, but this will result in an error.

I forked the repository with the recommended fix, and it's now working properly. So far, I haven’t noticed any issues or side effects.

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

Successfully merging a pull request may close this issue.

2 participants