I ended up implementing this in a less hackish way, with a proper
Gitorious::Authentication::KerberosAuthentication module. The core
code changes are not as daunting now.
I added a "authenticate_http" method to the main
Gitorious::Authentication module, to support authentication modules
that do not use a username+password combination.
Lastly, I added an "http" method to the sessions controller, which
will handle single sign-on authentication.
Patch against master is attached.
--
To post to this group, send email to gito...@googlegroups.com
To unsubscribe from this group, send email to
gitorious+...@googlegroups.com
Thanks! I appreciate your review and your feedback.
I implemented your suggestion for modifying the auth plugin API, and
broke that off into my first patch. I tried to update the test suite
to match this change.
Kerberos auth is in the second patch. It is similar the patch I
previously emailed, with the following improvements:
- Add a "pretty" HTTP 401 error page to match the rest of Gitorious's
look and feel. The web server will show this error if the user's
Kerberos credentials are missing or invalid, or if the user's browser
is not properly configured for Kerberos authentication.
- When auto-registering a user, set the default email address to use
the user's original Kerberos principal, rather than the sanitized
Gitorious username.
- Add a basic set of tests.
Both patches are attached, rebased against current master (430eb2bda).
Please let me know if these look ok :)
- Ken