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

Support multiple authentication backends #191

Closed
evert opened this issue Oct 14, 2012 · 3 comments · Fixed by #582
Closed

Support multiple authentication backends #191

evert opened this issue Oct 14, 2012 · 3 comments · Fixed by #582

Comments

@evert
Copy link
Member

evert commented Oct 14, 2012

Original author: robert.f...@gmail.com (September 19, 2011 07:46:54)

It would be nice if SabreDAV would support multiple auth backends simultaneously: Digest for clients that > support it and Basic for others.

The time has come to implement this. We want to refactor the authentication system a little bit to allow for multiple authentication backends.

We're going to simply add the ability to add more than one backend to the Authentication plugin to achieve this. While we're at it, we're also going to modify the authentication backends a bit, so that:

  1. They get access the Request and Response object, instead of making this a global affair.
  2. They return a full principalUri instead of just a username. This is going to solve a bunch of annoyances in custom implementations that have alternative principal structures.
  3. We need to split up 'validating auth' and 'require authentication' into 2 separate steps.
@evert
Copy link
Member Author

evert commented Oct 14, 2012

From evert...@gmail.com on September 19, 2011 14:12:25:
Makes sense, but it's not very high on my priority list.

I would probably do this by creating an 'aggregate' authentication backend that you can use to specify multiple 'inner backends'.

It would still require some refactoring to make this happen, as every backend needs to go through a 'try to authenticate' and 'handle authentication failed' phase.

@evert
Copy link
Member Author

evert commented Oct 14, 2012

From robert.f...@gmail.com on September 19, 2011 15:04:42:
Okay. But I think the Auth_Plugin should just get an additional "addBackend()" method, and the backend from constructor could stay as-is. Should be easier to handle than an aggregate backend - Auth_Plugin would have to care about the different phases anyway.

Let me know if I can help with coding (here or on other features).

@evert
Copy link
Member Author

evert commented Oct 14, 2012

From evert...@gmail.com on September 16, 2012 18:56:25:
Changed my mind, sorry.. I think this is (at least for now) too specific to implement in SabreDAV.

The tools are there to implement this as a custom feature, so I don't feel this is important enough.

@evert evert added this to the 2.1 milestone May 8, 2014
@evert evert modified the milestones: 2.2, 2.3 Dec 5, 2014
@evert evert changed the title Multiple Authentication Backends (e.g. Digest & Basic) Support multiple authentication backends Dec 5, 2014
evert added a commit that referenced this issue Dec 7, 2014
@evert evert closed this as completed in #582 Dec 8, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant