pismile

Endpoints et paramètres

Les endpoints OpenID Connect de pismile, leurs paramètres et des exemples de requêtes HTTP.

3 min de lecture · Mis à jour le · API v1

Connectez-vous pour voir vos propres identifiants sandbox dans les exemples.

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

https://pismile.com/.well-known/openid-configuration

Configuration complète du fournisseur

Autorisation

https://pismile.com/oauth2/authorize

Connexion de l'utilisateur (navigateur)

Jeton

https://pismile.com/oauth2/token

Échange du code contre les jetons (serveur)

Userinfo

https://pismile.com/userinfo

Claims de l'utilisateur, avec le jeton d'accès

Clés publiques

https://pismile.com/oauth2/jwks

Vérification de la signature du jeton d'identité

Déconnexion

end_session_endpoint de la découverte

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

response_type

Oui

code (seul flux pris en charge)

client_id

Oui

VOTRE_CLIENT_ID

redirect_uri

Oui

Une adresse déclarée à l'identique dans la console

scope

Oui

openid, plus profile et/ou address selon vos besoins

state

Recommandé

Valeur aléatoire, vérifiée au retour (protection CSRF)

nonce

Recommandé

Valeur aléatoire, recopiée dans le jeton d'identité (anti-rejeu)

code_challenge

Recommandé

PKCE : empreinte SHA-256 du code_verifier, en Base64URL

code_challenge_method

Avec PKCE

S256

prompt

Non

login (nouvelle vérification), consent (redemander le consentement), none (aucune interaction)

max_age

Non

Âge maximal de la dernière vérification, en secondes

Redirection du navigateur
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=S256

Retour en cas de succès :

HTTP
HTTP/1.1 302 Found
Location: https://votre-site.com/login/oauth2/code/pismile?code=SplxlOBeZQQYbYS6WxSbIA&state=af0ifjsldkj

Jeton#

Appel serveur à serveur : le secret ne quitte jamais votre serveur. Le code est à usage unique et expire en quelques minutes.

Paramètre

Valeur

grant_type

authorization_code

code

Le code reçu au retour

redirect_uri

La même adresse qu'à l'autorisation

code_verifier

Avec PKCE : la valeur d'origine

Authentification

En-tête Authorization: Basic base64(client_id:secret) (client_secret_basic)

Requê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
Réponse
{
  "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.

Requête
GET https://pismile.com/userinfo
Authorization: Bearer eyJraWQiOi…
Réponse
{
  "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

id_token_hint

Le jeton d'identité reçu à la connexion

post_logout_redirect_uri

Une adresse déclarée dans la console (« adresses après déconnexion »)

state

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é ?