Developers API & Widget
API Reference
FR

OAuth

Installer le flux OAuth

L’utilisateur s’authentifie auprès de Wealth Reader, revient vers vous redirect_uri avec un code et vous échangez le fichier JSON pour le même JSON que le callback iframe.

Utilisez ce chemin si vous ne pouvez pas intégrer l’iframe (application native ou flux de redirection). Si votre application web peut monter un iframe, utilisez plutôt frontend iframe].

Voie rapide

  1. Autoriser le domaine avec access_type=oauth.
  2. Générer nonce, state et code_verifier. Calculer challenge_code. Encode wr_conf en hexadécimal. Guarda nonce et code_verifier.
  3. Rediriger l’utilisateur vers https://oauth.wealthreader.com/oauth2/ avec ces paramètres.
  4. Recevez GET votre redirect_uri arnaque nonce et code.
  5. Faire POST et https://oauth.wealthreader.com/token/ récupérer la charge utile de la banque.

1. Autoriser le domaine

Il domain doit s’agir de la même URL que vous utiliserez comme redirect_uri et comme url_callback.

curl --location 'https://api.wealthreader.com/domains/' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'method=add' \
  --data-urlencode 'api_key=TU_API_KEY' \
  --data-urlencode 'domain=https://example.com/oauth/success.php' \
  --data-urlencode 'url_callback=https://example.com/oauth/success.php' \
  --data-urlencode 'access_type=oauth' \
  --data-urlencode 'tokenize=1'

Vous pouvez également enregistrer le domaine depuis la zone client ] en choisissant l’intégration OAuth.

2. Générer les valeurs du défi

Générez trois chaînes aléatoires de 41 caractères alphanumériques (A-Za-z0-9) et convertissez-les en hexadécimal (bin2hex). Chaque valeur hexadécimale comporte 82 caractères.

Valeur Comment l’obtenir Navires dans
redirect_uri Votre URL de retour, la même que vous avez autorisée requête et POST /token/
nonce 41 caractères → hexagone requête ; retour dans le GET
state 41 caractères → hexagon requête
code_verifier 41 personnages → hexagone solo POST /token/ (pas dans la requête)
challenge_code SHA-256 depuis code_verifier (hex digest) requête, comme challenge_code
wr_conf Configuration du sélecteur hexadécimal → JSON Requête

wr_conf Il prend en charge les mêmes champs que le frontend](/docs/fr/integration-iframe-1-sur-2-frontend/) [iframe. Exemple avant de passer à l’hexadécimal :

{
  "operation_id": "op_a1b2c3d4e5f6",
  "entities_to_display": [],
  "wait_full_response": true
}

Hexadécimal de ce JSON :

7b226f7065726174696f6e5f6964223a226f705f613162326333643465356636222c22656e7469746965735f746f5f646973706c6179223a5b5d2c22776169745f66756c6c5f726573706f6e7365223a747275657d

Convertir wr_conf en hexadécimal ne génère pas nonce, state ni code_verifier. Ces trois valeurs sont créées séparément et vous devez les faire persister (associées à ) noncejusqu’à ce que le POST /token/.

Exemple en PHP, équivalent à celui que nous utilisons en interne :

function randomAlnum($length)
{
    $alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    $value = '';
    for ($i = 0; $i < $length; $i++) {
        $value .= $alphabet[random_int(0, strlen($alphabet) - 1)];
    }
    return $value;
}

$nonce = bin2hex(randomAlnum(41));
$state = bin2hex(randomAlnum(41));
$code_verifier = bin2hex(randomAlnum(41));
$challenge_code = hash('sha256', $code_verifier);

$wr_conf = bin2hex(json_encode([
    'operation_id' => 'op_a1b2c3d4e5f6',
    'entities_to_display' => [],
    'wait_full_response' => true,
]));

3. Rediriger l’utilisateur

Construis la requête et redirige. Exemple avec des valeurs cohérentes :

https://oauth.wealthreader.com/oauth2/?challenge_code=c725133644f703a5f069a09583fa981eb5b8820071a4450f8d47ff8b1c6a879a
&code_challenge_method=S256
&redirect_uri=https://example.com/oauth/success.php
&response_type=code
&state=73684148464b3778795873626d724e62734749724336685a7a687854336c317934524f516831316a45
&nonce=696d6a716d4a47746d714e52656562496f61786468765a30335a4b4a646d6c546c5339654e42586573
&wr_conf=7b226f7065726174696f6e5f6964223a226f705f613162326333643465356636222c22656e7469746965735f746f5f646973706c6179223a5b5d2c22776169745f66756c6c5f726573706f6e7365223a747275657d

L’utilisateur voit le sélecteur bancaire, s’authentifie, et une fois terminé, Wealth Reader le renvoie à votre redirect_uri.

4. Recevez le GET in redirect_uri

https://example.com/oauth/success.php?nonce=696d6a716d4a47746d714e52656562496f61786468765a30335a4b4a646d6c546c5339654e42586573
&code=1234567890abcdef1234567890abcdef1234567890a

Utilisez le pour nonce récupérer celui code_verifier que vous avez sauvegardé à l’étape 2. Si c’est l’émetteur nonce non émetteur, rejetez la demande.

5. Terminez le défi

curl --location --request POST 'https://oauth.wealthreader.com/token/' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=authorization_code' \
  --data-urlencode 'redirect_uri=https://example.com/oauth/success.php' \
  --data-urlencode 'code=1234567890abcdef1234567890abcdef1234567890a' \
  --data-urlencode 'code_verifier=6634413364504337675230375a624671644f644d42414241303037737374684f494877477649723433'
Champ Valeur
grant_type authorization_code
redirect_uri Exactement comme l’étape 3
code Celui de GET
code_verifier L’hexadécimal que vous avez généré à l’étape 2

Si les valeurs correspondent, la réponse est le JSON de la banque (même schéma que le callback iframe] : success, payload et statistics (operation_id, token, code).

Sauvegarder token et code si plus tard, vous comptez rafraîchir avec POST https://api.wealthreader.com/entities/.

Code d’exemple

Il existe un exemple en Java (JBang/Java 17) qui génère les paramètres et complète le défi :

[Télécharger l’exemple Java (ZIP)]](https://drive.google.com/file/d/1nyWASQVkhFHAgTTeqq0HJe70fucg8D2E/view?usp=sharing)

Si vous avez besoin du même flux dans une autre langue, écrivez-nous à support@wealthreader.com. /support@wealthreader.com

Dernière mise à jour