stable

Clone or download

Read-only

story #8631: Delegate authentication to GitHub through OpenID Connect

To test, you need to: 1. Install the dependency php-openid-connect-client (only available on CentOS 6) 2. Install the plugin via the site administration area 3. Connect to your GitHub account and register a new application (Settings -> Applications -> Developer applications -> Register new application). You will need to put a callback URL to register the application, you must use https://<tuleap_instance>/plugins/openidconnectclient/ 4. Update the table plugin_openidconnectclient_provider with the client ID and secret 5. Go to https://<tuleap_instance>/plugins/openidconnectclient/ and log in 6. The first authentication will fail on Tuleap side but will allow you to get an identifier (You can also get this identifier from /tmp/openidconnect.log). Update the table plugin_openidconnectclient_user_mapping with it. 7. You can now authenticate with GitHub for this user What is not done in this commit: - "Login with GitHub" button on the login page - Automatic association of a GitHub account to a Tuleap account Change-Id: Ia6e845cf1759de4d1483dbac5dbf4845a2dcaa5b

Modified Files

Name
A plugins/openidconnectclient/README.md +3 −0 Go to diff View file
A plugins/openidconnectclient/VERSION +1 −0 Go to diff View file
A plugins/openidconnectclient/db/install.sql +43 −0 Go to diff View file
A plugins/openidconnectclient/db/uninstall.sql +20 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/Flow.php +86 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/LoginController.php +151 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/Provider/Provider.php +81 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/Provider/ProviderDao.php +32 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/Provider/ProviderManager.php +61 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/Provider/ProviderNotFoundException.php +24 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/Router.php +55 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/UserMapping/UserMapping.php +46 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/UserMapping/UserMappingDao.class.php +43 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/UserMapping/UserMappingManager.php +59 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClient/UserMapping/UserMappingNotFoundException.php +24 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClientPluginDescriptor.class.php +29 −0 Go to diff View file
A plugins/openidconnectclient/include/OpenIDConnectClientPluginInfo.class.php +25 −0 Go to diff View file
A plugins/openidconnectclient/include/autoload.php +31 −0 Go to diff View file
A plugins/openidconnectclient/include/openidconnectclientPlugin.class.php +81 −0 Go to diff View file
A plugins/openidconnectclient/site-content/en_US/openidconnectclient.tab +6 −0 Go to diff View file
A plugins/openidconnectclient/site-content/fr_FR/openidconnectclient.tab +6 −0 Go to diff View file
A plugins/openidconnectclient/tests/RouterTest.php +52 −0 Go to diff View file
A plugins/openidconnectclient/tests/bootstrap.php +21 −0 Go to diff View file
A plugins/openidconnectclient/www/.htaccess +1 −0 Go to diff View file
A plugins/openidconnectclient/www/index.php +29 −0 Go to diff View file
M plugins/svn/include/autoload.php +2 −9 Go to diff View file
M src/common/autoload_libs.php +26 −26 Go to diff View file
M tools/rpm/Makefile +2 −0 Go to diff View file
M tools/rpm/tuleap.rhel6.spec +13 −0 Go to diff View file
M tools/rpm/tuleap.spec +2 −0 Go to diff View file