Developers API & Widget
API Reference
FI

OAuth

Aseta virtaus OAuth

Käyttäjä tunnistautuu Wealth Reader:lle, palaa redirect_uri :llesi code :n kanssa, ja lunastat sen samaan JSON kuin iframe callback .

Käytä tätä polkua, jos et voi upottaa iframea (natiivisovellus tai uudelleenohjausvirta). Jos web-sovelluksesi voi liittää iframen, käytä iframe-käyttöliittymä sen sijaan.

Nopea raja

  1. Valtuuta verkkotunnus access_type=oauth.
  2. Luo nonce, state ja code_verifier. Laske challenge_code. Koodaa wr_conf heksadesimaaliksi. Tallenna nonce ja code_verifier.
  3. Ohjaa käyttäjä https://oauth.wealthreader.com/oauth2/ näillä parametreilla.
  4. Vastaanota GET-pyyntö redirect_uri-osoitteessa. Pyyntö sisältää nonce- ja code-arvot.
  5. Tee POST https://oauth.wealthreader.com/token/ ja ota payload pankista.

1. Valtuuta verkkotunnus

domain on oltava sama URL, jota käytät redirect_uri ja 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'

Voit myös rekisteröidä verkkotunnuksen Asiakaskunta valitsemalla integraatio OAuth.

2. Luo haasteen arvot

Luo kolme satunnaista merkkijonoa, joissa on 41 aakkosnumeerista tekstimerkkiä (A-Za-z0-9) ja muunna ne heksadesimaaliksi (bin2hex). Jokaisessa heksadesimaaliarvossa on 82 merkkiä tekstiä.

Arvo Miten se saadaan Lähetetään
redirect_uri Palautus-URL-osoitteesi on sama, jonka valtuutit kysely ja POST /token/
nonce 41 merkkiä → heksaa kysely; palaa GET
state 41 merkkiä → heksaa Kysely
code_verifier 41 merkkiä → heksaa vain POST /token/ (ei kyselyssä)
challenge_code code_verifier-arvon SHA-256-tiiviste heksadesimaalimuodossa kysely, kuten challenge_code
wr_conf Pankkivalitsimen JSON-asetukset → heksadesimaalikoodaus Kysely

wr_conf tukee samoja kenttiä kuin iframe-käyttöliittymä. Esimerkki ennen siirtymistä heksadesimaaliin:

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

Tämän JSONheksadesimaali:

7b226f7065726174696f6e5f6964223a226f705f613162326333643465356636222c22656e7469746965735f746f5f646973706c6179223a5b5d2c22776169745f66756c6c5f726573706f6e7365223a747275657d

wr_conf:n muuntaminen heksadesimaaliksi ei tuota nonce, state tai code_verifier. Nämä kolme arvoa luodaan erikseen ja ne täytyy säilyttää (nonce:n yhteydessä) POST /token/asti.

Esimerkki PHP:stä, joka vastaa sitä, mitä käytämme sisäisesti:

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. Ohjaa käyttäjä uudelleen

Rakenna kysely ja ohjaa uudelleen. Esimerkki, jonka arvot ovat yhdenmukaisia keskenään:

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

Käyttäjä näkee pankkivalitsimen ja tunnistautuu. Kun tunnistautuminen päättyy, Wealth Reader ohjaa käyttäjän takaisin redirect_uri-osoitteeseen.

4. Vastaanota GET redirect_uri

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

Käytä nonce hakeaksesi code_verifier , jonka tallensit vaiheessa 2. Jos nonce ei ole se, jonka annoit, hylkää pyyntö.

5. Suorita haaste

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'
Kenttä Arvo
grant_type authorization_code
redirect_uri Täsmälleen sama kuin vaiheessa 3
code Se, jolla on GET
code_verifier Heksa, jonka loit vaiheessa 2

Jos arvot täsmäävät, vastaus on pankin JSON (sama skeema kuin callback iframesta): success, payload ja statistics (operation_id, token, code).

Säästä token ja code , jos aiot päivittää POST https://api.wealthreader.com/entities/myöhemmin.

Esimerkkikoodi

Javalla on esimerkki (JBang/Java 17), joka generoi parametrit ja suorittaa haasteen:

Lataa Java-näyte (ZIP)

Jos tarvitset saman flow'n toisella kielellä, kirjoita meille osoitteeseen support@wealthreader.com.

Päivitetty viimeksi