Devons-nous présenter Google ? La bonne nouvelle est que Google est un fournisseur OpenID-Connect standard, on peut ainsi aisément déléguer l'authentification de LL::NG à Google : https://developers.google.com/identity/protocols/OpenIDConnect
Il faut un compte développer Google pour accéder à https://console.developers.google.com/
Aller ensuite dans « API Manager » et récupérer les nouveaux éléments (client_id
and client_secret
).
Il faut fournir les URLs de rappel, par exemple https://auth.domain.com/?openidcallback=1.
Aller dans le Manager et créer un fournisseur OpenID-Connect. On peut l'appeler google
par exemple.
Cliquer sur Métadonnées
, et utiliser l'URL de configuration OpenID-Connect pour les charger : https://accounts.google.com/.well-known/openid-configuration.
On peut aussi charger les données JWKS depuis l'URL https://www.googleapis.com/oauth2/v3/certs. Mais comme Google change régulièrement ses clefs, il faut configurer un intervalle de rafraîchissement des données JKWS.
Aller dans les attributs exportés
pour choisir les attributs à collecter. Google supporte ces champs :
Aller ensuite dans Options
:
Configuration
, enregistrer les client_id
et client_secret
donnés par Google. Préciser alors l'URI de configuration avec https://accounts.google.com/.well-known/openid-configuration, et le rafraîchissement JWKS, par exemple pour chaque jour : 86400.Protocole
, adapter le scope
à l'attribut exporté voulu. On peut par exemple utiliser openid profile email
.Affichage
, on peut indiquer le nom et le logo