Endpoints et paramètres
Les endpoints OpenID Connect de pismile, leurs paramètres et des exemples de requêtes HTTP.
pismile est un fournisseur OpenID Connect standard. Votre bibliothèque OIDC lit la configuration publiée sur l'endpoint de découverte : vous n'avez normalement pas à écrire ces requêtes vous-même. Cette page sert de référence et d'aide au débogage.
Récapitulatif#
Endpoint | Adresse | Rôle |
|---|---|---|
Découverte |
| Configuration complète du fournisseur |
Autorisation |
| Connexion de l'utilisateur (navigateur) |
Jeton |
| Échange du code contre les jetons (serveur) |
Userinfo |
| Claims de l'utilisateur, avec le jeton d'accès |
Clés publiques |
| Vérification de la signature du jeton d'identité |
Déconnexion |
| Fin de la session pismile |
Autorisation#
Le navigateur de l'utilisateur est redirigé vers cet endpoint. pismile vérifie son alias, demande son consentement la première fois, puis le renvoie vers votre redirect_uri avec un code.
Paramètre | Obligatoire | Valeur |
|---|---|---|
| Oui |
|
| Oui |
|
| Oui | Une adresse déclarée à l'identique dans la console |
| Oui |
|
| Recommandé | Valeur aléatoire, vérifiée au retour (protection CSRF) |
| Recommandé | Valeur aléatoire, recopiée dans le jeton d'identité (anti-rejeu) |
| Recommandé | PKCE : empreinte SHA-256 du |
| Avec PKCE |
|
| Non |
|
| Non | Âge maximal de la dernière vérification, en secondes |
GET https://pismile.com/oauth2/authorize?response_type=code
&client_id=VOTRE_CLIENT_ID
&redirect_uri=https%3A%2F%2Fvotre-site.com%2Flogin%2Foauth2%2Fcode%2Fpismile
&scope=openid%20profile
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
&code_challenge_method=S256Retour en cas de succès :
HTTP/1.1 302 Found
Location: https://votre-site.com/login/oauth2/code/pismile?code=SplxlOBeZQQYbYS6WxSbIA&state=af0ifjsldkjJeton#
Appel serveur à serveur : le secret ne quitte jamais votre serveur. Le code est à usage unique et expire en quelques minutes.
Paramètre | Valeur |
|---|---|
|
|
| Le code reçu au retour |
| La même adresse qu'à l'autorisation |
| Avec PKCE : la valeur d'origine |
Authentification | En-tête |
POST https://pismile.com/oauth2/token
Authorization: Basic base64(VOTRE_CLIENT_ID:VOTRE_SECRET)
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F%2Fvotre-site.com%2Flogin%2Foauth2%2Fcode%2Fpismile
&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk{
"access_token": "eyJraWQiOi…",
"token_type": "Bearer",
"expires_in": 300,
"scope": "openid profile",
"id_token": "eyJraWQiOi…"
}Le jeton d'identité (id_token) est un JWT signé : votre bibliothèque vérifie sa signature avec https://pismile.com/oauth2/jwks, ainsi que iss (https://pismile.com), aud (VOTRE_CLIENT_ID), exp et nonce. Son contenu est décrit dans Scopes et claims.
Userinfo#
Renvoie les mêmes claims que le jeton d'identité, avec le jeton d'accès.
GET https://pismile.com/userinfo
Authorization: Bearer eyJraWQiOi…{
"sub": "c2b18f6e4a0d4c7e9b2f1a3d5e7c9b10",
"name": "AWA MENSAH",
"pismile_country": "TG",
"pismile_category": "P"
}Déconnexion#
Pour déconnecter l'utilisateur de pismile en plus de votre site, redirigez son navigateur vers l'end_session_endpoint publié par la découverte.
Paramètre | Valeur |
|---|---|
| Le jeton d'identité reçu à la connexion |
| Une adresse déclarée dans la console (« adresses après déconnexion ») |
| Facultatif, renvoyé tel quel |
Si vous ne déconnectez que votre site, l'utilisateur reste connecté à pismile : un nouveau clic sur « Se connecter avec pismile » le reconnecte sans nouvelle vérification (_single sign-on_).
Cette page vous a-t-elle aidé ?
Merci, votre avis nous aide à améliorer la documentation.