Rayor Aide
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

  1. Redirection — vous envoyez l'utilisateur sur connect.rayor.fr/authorize.php.
  2. Retour avec un code — après validation, Rayor Connect le renvoie sur votre redirect_uri avec un paramètre ?code=… à usage unique.
  3. É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

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.