Connexion OpenID Connect

Vos utilisateurs peuvent se connecter avec un compte qu'ils possèdent déjà ailleurs. Tout fournisseur d'identité qui publie un document de découverte OpenID Connect convient, et Fóir mène l'échange avec lui.

Ce que vous fournissez

Vous ajoutez un fournisseur dans la console, depuis la CLI ou dans votre fichier de config. Une connexion a besoin de l'URL de découverte du fournisseur, de votre ID client et d'un URI de redirection, et elle est refusée si l'un des trois manque. Un secret client est facultatif, et les portées demandées sont par défaut openid email.

Fóir ne tient aucun catalogue de fournisseurs nommés. Chacun que vous ajoutez a une clé, un nom d'affichage et une priorité qui ordonne les boutons.

Ce que fait Fóir

Fóir lit le document de découverte du fournisseur, génère la paire PKCE et la valeur state, et renvoie l'URL d'autorisation du fournisseur. Quand l'utilisateur revient, il échange le code, vérifie le jeton d'ID et lit l'adresse e-mail ainsi que l'identifiant de sujet stable du fournisseur.

Comment une personne est rattachée à un compte

Un utilisateur qui revient est reconnu par l'identifiant de sujet, de sorte qu'une adresse e-mail modifiée chez le fournisseur correspond toujours au même compte. Une première connexion avec un e-mail inconnu crée un compte sans mot de passe, sous réserve du mode d'inscription du projet et de la limite d'utilisateurs actifs de votre forfait.

Quand l'e-mail correspond à un compte existant, le fournisseur n'est rattaché que si ce compte n'a pas de mot de passe et que le fournisseur a vérifié l'e-mail. Sinon la connexion est refusée avec un message qui invite l'utilisateur à se connecter avec sa méthode existante.

Où apparaissent les boutons

La page de connexion hébergée affiche un bouton pour chaque fournisseur activé. Dans votre propre interface, la requête authProviders les liste et deux mutations démarrent et terminent la connexion, en renvoyant les mêmes jetons que toutes les autres méthodes.

Masquer un fournisseur ou le désactiver

Une app de connexion peut masquer un fournisseur pour elle-même. Le désactiver pour tout le projet prend effet à la prochaine publication, ou immédiatement avec foir push --publish.

Lire le détail

Le guide de connexion couvre l'ajout d'un fournisseur dans la console et depuis la CLI, ainsi que les appels d'API pour une connexion par fournisseur dans votre propre interface.