Experimental authentication for Launchpad and Google added

This commit is contained in:
Christoph Haas 2017-04-06 12:56:06 +02:00
parent 0c080386ef
commit 9a5ddb5e13
8 changed files with 154 additions and 44 deletions

38
README.developer.md Normal file
View file

@ -0,0 +1,38 @@
# Authentication
The application uses _omniauth_ to allow local authentication for moderators
and adds OAuth authentication to connect to Google+, Github and other
authentication providers.
Documentation on omniauth:
https://github.com/omniauth/omniauth/wiki/List-of-Strategies
https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview
## Google+
The client ID for the debshots application is:
398593918966-0fpmit0pb6ptio1ndsie5dfcnqhei63l.apps.googleusercontent.com
The private key is:
uRQq_dLs1kx7l5sYIyEyPVRc
(This information is connected to the christoph.haas@gmail.com account.)
## Amazon
## launchpad
## Github
## Caveats
The OAuth callback handling uses Ruby's "faraday" library. Unfortunately
Faraday may easily miss the directory where the common CAs are stored.
So the path to the certificates on the system needs to be provided:
config.omniauth :google_oauth2, '398593918966-0fpmit0pb6ptio1ndsie5dfcnqhei63l.apps.googleusercontent.com', 'uRQq_dLs1kx7l5sYIyEyPVRc', :client_options => {:ssl => {:ca_path => '/etc/ssl/certs'}}
For another explanation of the issue see: https://gist.github.com/kt103099/3183125