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

Add MFA support for LDAP auth provider #22

Open
Luzifer opened this issue Dec 24, 2018 · 3 comments
Open

Add MFA support for LDAP auth provider #22

Luzifer opened this issue Dec 24, 2018 · 3 comments
Labels
enhancement New feature or request security

Comments

@Luzifer
Copy link
Owner

Luzifer commented Dec 24, 2018

As a system administrator using LDAP as an auth backend for nginx-sso I want to be able to configure MFA inside the LDAP backend.

Acceptance criteria:

  • It should be possible to have users with and without MFA configured
  • Configuration must be fully done (except field name being specified in config) in the backend
@Luzifer Luzifer added enhancement New feature or request security labels Dec 24, 2018
@Luzifer
Copy link
Owner Author

Luzifer commented Dec 24, 2018

Currently kind of a blocker: I've no idea how to properly store the MFA configuration into LDAP. The configuration I need is in the following format:

provider: google
attributes:
  secret: MZXW6YTBOIFA

The attributes are flexible and are changing from provider to provider. They also might get more than one. (For example in the future 8-digit codes could be supported for Google Authenticator)

One possibility I can see is to store a JSON object into one key of the LDAP which is kind of ugly:

mfa: {"provider":"google","attributes":{"secret":"MZXW6YTBOIFA"}}

Ideally the solution would also work out for #23 which has the limitation Crowd only supports a string:string mapping in its user-bound attributes. So for this the JSON solution is the only thing I currently can imagine.

Another solution (also quite ugly but maybe better than JSON) could be a URI-kind notation:
google?secret=MZXW6YTBOIFA / yubikey?device=ccccccfcvuul

Maybe @Xaroth or @joltcan have any suggestion how to store this kind of information?

@Tigger2014
Copy link

I would vote for JSON given the options for readability.
Is modifying LDAP schema something you want to avoid as thats one cleaner one i could think of?

@elvarb
Copy link

elvarb commented May 8, 2019

Would it be possible to store this data within nginx-sso?

Modifying LDAP schema should be avoided if possible. If it is unavoidable the field must be secured to be only readable by the user and admins otherwise any authenticated user could read the data.

@Luzifer Luzifer added this to the Version 1.x - Rewrite milestone Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request security
Projects
None yet
Development

No branches or pull requests

3 participants