Développeurs — Se connecter avec Rayor Connect
Se connecter avec Rayor Connect
Rayor Connect peut servir de fournisseur d'identité pour votre propre site : vos utilisateurs se connectent avec leur compte Rayor, et vous récupérez leur e-mail vérifié. Le principe suit le schéma OAuth 2.0 « code d'autorisation ».
Le flux en 3 étapes
- Redirection — vous envoyez l'utilisateur sur
connect.rayor.fr/authorize.php. - Retour avec un code — après validation, Rayor Connect le renvoie sur votre
redirect_uriavec un paramètre?code=…à usage unique. - Échange côté serveur — votre serveur échange ce code contre les informations du compte (e-mail vérifié, profil).
1. Envoyer vers l'autorisation
https://connect.rayor.fr/authorize.php
?client_id=VOTRE_DOMAINE
&redirect_uri=https://VOTRE_DOMAINE/callback.php
&scope=openid%20profile%20email
&response_type=code
client_id & redirect_uri
Le client_id est le domaine de votre site (ex. mon-site.fr), et l'hôte du redirect_uri doit correspondre à ce domaine. Choisissez les scopes utiles : email, profile, et selon les besoins subscription (statut Plus) ou preferences.2. Récupérer le code au retour
Sur votre redirect_uri, lisez le paramètre code de l'URL.
3. Échanger le code (côté serveur)
<?php
$code = $_GET['code'] ?? '';
$ch = curl_init('https://connect.rayor.fr/api.php?code=' . urlencode($code));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => true, // vérifie le certificat
CURLOPT_TIMEOUT => 15,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
// Rayor Connect peut renvoyer les champs à plat ou sous "data"
$src = $data['data'] ?? $data;
$email = $src['email'] ?? null; // e-mail VÉRIFIÉ
if ($email) {
// -> créez / retrouvez l'utilisateur par son e-mail, ouvrez la session
session_regenerate_id(true);
$_SESSION['email'] = strtolower(trim($email));
}
?>
Champs renvoyés
email— l'e-mail vérifié (identifiant principal recommandé).rayor_id— identifiant public stable du compte.nickname,given_name,picture— profil (si le scopeprofileest demandé).rayor_plus— statut d'abonnement (si le scopesubscriptionest demandé).
Bonnes pratiques
- Faites l'échange du code uniquement côté serveur — ne mettez jamais de secret dans le JavaScript du navigateur.
- Laissez
CURLOPT_SSL_VERIFYPEERàtrue. - Appelez
session_regenerate_id(true)juste après la connexion (anti-fixation de session). - Ne faites confiance qu'à l'e-mail renvoyé par l'API, jamais à un e-mail passé en paramètre d'URL.
Besoin d'un exemple concret ? Les applications de l'écosystème (Docs, Transfert, Agenda…) utilisent exactement ce flux.