OAuth
Cumraigh an sreabhadh OAuth
Déanann an t-úsáideoir fíordheimhniú ag Wealth Reader, filleann sé ar do redirect_uri le code, agus malartaíonn tú é sin ar an JSON céanna leis an callback iframe.
Úsáid an chonair seo mura féidir leat an iframe a leabú (aip dhúchais nó sreabhadh atreoraithe). Más féidir le d’aip ghréasáin iframe a óstáil, úsáid frontend iframe ina ionad.
Conair thapa
- Údaraigh an fearann le
access_type=oauth. - Gin
nonce,stateaguscode_verifier. Ríomhchallenge_code. Ionchódaighwr_confmar heicsidheachúlach. Stóráilnonceaguscode_verifier. - Atreoraigh an t-úsáideoir chuig
https://oauth.wealthreader.com/oauth2/leis na paraiméadair sin. - Faigh
GETar doredirect_urilenonceaguscode. - Déan
POSTchuighttps://oauth.wealthreader.com/token/agus faigh payload an bhainc.
1. Údaraigh an fearann
Ní mór gurb é domain an URL céanna a úsáidfidh tú mar redirect_uri agus mar 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=YOUR_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'
Is féidir an fearann a chlárú freisin ó limistéar na gcliant trí chomhtháthú OAuth a roghnú.
2. Gin luachanna an dúshláin
Gin trí theaghrán randamach 41 carachtar alfa-uimhriúil (A-Za-z0-9) agus tiontaigh iad go heicsidheachúlach (bin2hex). Tá gach luach heicsidheachúlach 82 carachtar ar fad.
| Luach | Conas é a fháil | Seoltar i |
|---|---|---|
redirect_uri |
Do URL fillte, an ceann céanna a d’údaraigh tú | query agus POST /token/ |
nonce |
41 carachtar → hex | query; filleann sé ar an GET |
state |
41 carachtar → hex | query |
code_verifier |
41 carachtar → hex | POST /token/ amháin (ní sa query) |
challenge_code |
SHA-256 de code_verifier (hex digest) |
query, mar challenge_code |
wr_conf |
JSON cumraíochta an roghnóra → hex | query |
Glacann wr_conf leis na réimsí céanna le frontend iframe. Sampla sula dtiontaítear go heicsidheachúlach:
{
"operation_id": "op_a1b2c3d4e5f6",
"entities_to_display": [],
"wait_full_response": true
}
Heicsidheachúlach an JSON sin:
7b226f7065726174696f6e5f6964223a226f705f613162326333643465356636222c22656e7469746965735f746f5f646973706c6179223a5b5d2c22776169745f66756c6c5f726573706f6e7365223a747275657d
Ní ghineann tiontú wr_conf go heicsidheachúlach nonce, state ná code_verifier. Cruthaítear na trí luach sin ar leithligh agus ní mór duit iad a mharthanú (eochairithe de réir nonce) go dtí an POST /token/.
Sampla PHP, comhionann leis an méid a úsáidimid go hinmheánach:
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. Atreoraigh an t-úsáideoir
Tóg an query agus atreoraigh. Sampla le luachanna atá comhsheasmhach lena chéile:
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
Feiceann an t-úsáideoir an roghnóir banc, déanann sé fíordheimhniú, agus nuair a chríochnaíonn sé seolann Wealth Reader ar ais chuig do redirect_uri é.
4. Faigh an GET ar redirect_uri
https://example.com/oauth/success.php?nonce=696d6a716d4a47746d714e52656562496f61786468765a30335a4b4a646d6c546c5339654e42586573
&code=1234567890abcdef1234567890abcdef1234567890a
Úsáid an nonce chun an code_verifier a aisghabháil a stóráil tú i gcéim 2. Mura ceann a d’eisigh tusa an nonce, caith an t-iarratas uait.
5. Cuir an dúshlán i gcrích
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'
| Réimse | Luach |
|---|---|
grant_type |
authorization_code |
redirect_uri |
Go díreach mar a bhí i gcéim 3 |
code |
An ceann ón GET |
code_verifier |
An luach heicsidheachúlach a ghin tú i gcéim 2 |
Má oireann na luachanna, is é an freagra JSON an bhainc (an scéimre céanna leis an callback iframe): success, payload agus statistics (operation_id, token, code).
Stóráil token agus code más rud é go ndéanfaidh tú athnuachan níos déanaí le POST https://api.wealthreader.com/entities/.
Cód samplach
Tá sampla Java ann (JBang / Java 17) a ghineann na paraiméadair agus a chuireann an dúshlán i gcrích:
Más gá an sreabhadh céanna i dteanga eile, scríobh chuig support@wealthreader.com.