Developers API & Widget
API Reference
NO

OAuth

Sett opp flyten OAuth

Brukeren autentiserer seg for Wealth Reader, returnerer til din redirect_uri med en code , og du løser den inn for samme JSON som iframe- callback .

Bruk denne stien hvis du ikke kan legge inn iframen (native app eller en omdirigeringsflyt). Hvis webappen din kan montere en iframe, bruk iframe-frontend I stedet.

Fast Track

  1. Autoriser domenet med access_type=oauth.
  2. Genererer nonce, state og code_verifier. Kalkulerer challenge_code. Koder wr_conf i heksadesimal. Lagrer nonce og code_verifier.
  3. Omdiriger brukeren til https://oauth.wealthreader.com/oauth2/ med disse parameterne.
  4. Få GET i redirect_uri med nonce og code.
  5. Gjør POST https://oauth.wealthreader.com/token/ og få payload fra banken.

1. Autoriser domenet

domain bør være den samme URL-en som du bruker som redirect_uri og som 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'

Du kan også registrere domenekontoen fra Kundeområde Ved å velge integrasjon OAuth.

2. Generer verdiene til utfordringen

Generer tre tilfeldige strenger med 41 alfanumeriske teksttegn (A-Za-z0-9) og konverter dem til heksadesimal (bin2hex). Hver heksadesimalverdi har 82 tegn med tekst.

Verdi Hvordan den oppnås Sendes i
redirect_uri Din retur-URL, den samme som du godkjente spørring og POST /token/
nonce 41 tegn → heksadesimal forespørsel; kom tilbake i GET
state 41 tegn → heksadesimal Spørring
code_verifier 41 tegn → heksadesimal Kun POST /token/ (ikke i søket)
challenge_code code_verifier SHA-256 (hex-digest) forespørsel, som challenge_code
wr_conf → Hex-velgerkonfigurasjon JSON Spørring

wr_conf støtter de samme feltene som iframe-frontend. Eksempel før du går over til heksadesimal:

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

Heksadesimal av den JSON:

7b226f7065726174696f6e5f6964223a226f705f613162326333643465356636222c22656e7469746965735f746f5f646973706c6179223a5b5d2c22776169745f66756c6c5f726573706f6e7365223a747275657d

Å konvertere wr_conf til heksadesimal genererer ikke nonce, state eller code_verifier. Disse tre verdiene opprettes separat, og du må beholde dem (tilknyttet nonce) til POST /token/.

Eksempel i PHP, tilsvarende det vi bruker internt:

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. Omdiriger brukeren

Bygg spørringen og omdiriger. Eksempel med verdier som er konsistente med hverandre:

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

Brukeren ser bankvelgeren, autentiserer seg og når Wealth Reader er ferdig, returnerer til redirect_uri.

4. Motta GET i redirect_uri

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

Bruk nonce for å hente ut code_verifier du lagret i steg 2. Hvis nonce ikke er den du sendte ut, avvis forespørselen.

5. Fullfør utfordringen

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'
Felt Verdi
grant_type authorization_code
redirect_uri Akkurat det samme som steg 3
code Den med GET
code_verifier Den heksadesimale verdien du genererte i steg 2

Hvis verdiene stemmer, er svaret bankens JSON (samme skjema som callback av iframen): success, payload og statistics (operation_id, token, code).

Lagre token og code hvis du skal oppdatere med POST https://api.wealthreader.com/entities/senere.

Eksempelkode

Det finnes et eksempel i Java (JBang/Java 17) som genererer parameterne og fullfører utfordringen:

Last ned Java-eksempel (ZIP)

Hvis du trenger samme flyt på et annet språk, skriv til oss på support@wealthreader.com.

Sist oppdatert