jbbarth / redmine_omniauth_cas

CAS authentication plugin for Redmine through OmniAuth
MIT License
20 stars 14 forks source link

Redmine OmniAuth CAS plugin

This plugins adds CAS authentication support for Redmine thanks to the OmniAuth authentication framework. OmniAuth is a Rack middleware that let you authenticate against many sources (see the list of supported sources). This plugin aims at being an example of integration for the CAS protocol, but it shouldn't be that difficult to build a plugin that allows authentication against other sources.

NB: the plugin doesn't support on-the-fly registration for now.

Install

You can first take a look at general instructions for plugins here

Note that the plugin is now only compatible with Redmine 2.0.0 or higher. Compatibility with Redmine 1.x has been removed in August, 2012.

Then :

Finally you can configure your CAS server URL directly in your redmine instance, in "Administration" > "Plugins" > "Configure" on the OmniAuth CAS plugin line.

Coming soon features

Here are some ideas that could be implemented in future releases. I'm really open to suggestions on this plugin, so don't hesitate to fill an issue directly on GitHub :

Internals

Why not use the AuthSource Redmine system ?

From a functionality point of view, Redmine's AuthSource system is useful for 2 things :

Actually, OpenID authentication in core is not an AuthSource neither.

Why is there a default on http://localhost:9292/ everywhere ?

There are some limitations with the current implementation of OmniAuth CAS strategy. To be clear, it doesn't support dynamic parameters very well, and forces to have a default :cas_server or :cas_login_url defined in the initialization process. I hope I'll have the time to propose a fix or develop my own CAS strategy soon.

Contribute

If you like this plugin, it's a good idea to contribute :

Changelog

master/current

v0.1.2

v0.1.1

v0.1.0 (first release)

Test status

Plugin branch Redmine Version Test Status
master 4.2.11 4.2.11
master 5.1.2 5.1.2
master master master

License

This project is released under the MIT license, see LICENSE file.