OAuth
Sæt OAuth-flowet op
Brugeren autentificerer sig til Wealth Reader, vender tilbage til dig redirect_uri med a, code og du indløser det til samme JSON som iframe-callbacket.
Brug denne sti, hvis du ikke kan indlejre iframen (native app eller en redirect flow). Hvis din webapplikation kan montere en iframe, så brug [iframe frontend]](/docs/da/iframe-integration-1-af-2-frontend/) i stedet.
Fast Track
- Bemyndig domænet med
access_type=oauth. - Generer
nonce,stateogcode_verifier. Beregn.challenge_codeKoderwr_confi hexadecimal. Guardanonceogcode_verifier. - Omdiriger brugeren til
https://oauth.wealthreader.com/oauth2/med disse parametre. - Modtag
GETi dinredirect_uriconnonceogcode. - Gør
POSTdet oghttps://oauth.wealthreader.com/token/få bankens last.
1. Autoriser domænet
Det domain skal være den samme URL, som du skal bruge 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 domænet fra klientområdet ] ved at vælge OAuth-integration.
2. Generering af værdierne af udfordringen
Generer tre tilfældige strenge af 41 alfanumeriske tegn (A-Za-z0-9) og konverter dem til hexadecimal (bin2hex). Hver hexadecimal værdi har 82 tegn.
| Værdi | Sådan får man den | Skibe i | |
|---|---|---|---|
redirect_uri |
Din retur-URL, den samme som du har autoriseret | forespørgsel og POST /token/ |
|
nonce |
41 tegn → hex | forespørgsel; tilbage i | GET |
state |
41 tegn → hex | forespørgsel | |
code_verifier |
41 tegn → hex | solo POST /token/ (ikke i forespørgslen) |
|
challenge_code |
SHA-256 fra code_verifier (hex digest) |
forespørgsel, som challenge_code |
|
wr_conf |
Hex → Selector Konfiguration JSON | forespørgsel |
wr_conf Den understøtter de samme felter som iframe-frontend. Eksempel før skiftet til hexadecimal:
{
"operation_id": "op_a1b2c3d4e5f6",
"entities_to_display": [],
"wait_full_response": true
}
Hexadecimal af den JSON:
7b226f7065726174696f6e5f6964223a226f705f613162326333643465356636222c22656e7469746965735f746f5f646973706c6179223a5b5d2c22776169745f66756c6c5f726573706f6e7365223a747275657d
Konvertering wr_conf til hexadecimal genererer nonceikke , state ej heller code_verifier. Disse tre værdier oprettes separat, og du skal bevare dem (tilknyttet ) nonceindtil . POST /token/
Eksempel i PHP, svarende til det vi bruger 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 brugeren
Byg forespørgslen og omdiriger. Eksempel med konsistente værdier:
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
Brugeren ser bankvælgeren, autentificerer, og når det er færdigt, returnerer Wealth Reader den til din redirect_uri.
4. Modtag GET in redirect_uri
https://example.com/oauth/success.php?nonce=696d6a716d4a47746d714e52656562496f61786468765a30335a4b4a646d6c546c5339654e42586573
&code=1234567890abcdef1234567890abcdef1234567890a
Brug den til at nonce gendanne den code_verifier , du gemte i trin 2. Hvis ikke-udstederen nonce , afvis anmodningen.
5. Gennemfør udfordringen
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 | Værdi | |
|---|---|---|
grant_type authorization_code |
||
redirect_uri |
Præcis det samme som trin 3 | |
code |
Den af | GET |
code_verifier |
Den hexadecimale metode, du genererede i trin 2 |
Hvis værdierne matcher, er svaret bankens JSON (samme skema som iframe callback]: success, payload og statistics (operation_id, token, code).
Gem, token og code hvis du senere vil opdatere med POST https://api.wealthreader.com/entities/.
Eksempelkode
Der findes et eksempel i Java (JBang/Java 17), som genererer parametrene og fuldfører udfordringen:
Hvis du har brug for samme flow på et andet sprog, så skriv til os på support@wealthreader.com. /support@wealthreader.com