Open Bank Project を使用して React-Native アプリを開発していますが、RN で Oauth1.0 を使用できないため、推奨される SDK を使用できません。nodeJS も使用できません。そして、「/oauth/initiate」と「/oauth/authorize」を問題なく渡した後、アクセストークンリクエスト「/oauth/token」でBad Signatureエラーが発生します。
ここのドキュメントで指定されているように、保護されたリソースにアクセスする前に、POST リクエストを介してアクセス トークンが必要です。これにより、Bad Signature の回答が得られます。
リクエストのコードは次のとおりです。
getAccessToken(verifier){
let request = {
url: 'https://api.openbankproject.com/oauth/token',
method: 'POST',
data: {
oauth_verifier: verifier,
oauth_token: this.auth.oauth_token,
oauth_token_secret: this.auth.oauth_token_secret
}
}
return fetch(this.url_login, {
method: request.method, //POST
form: request.data,
headers: this.oauth.toHeader(this.oauth.authorize(request))
})
.then((res) => {return res.text()})
.then((txt) => {
console.log('setUID', txt, this.url_login, {
method: request.method,
form: request.data,
headers: this.oauth.toHeader(this.oauth.authorize(request))
})
})
署名されたリクエストは次のとおりです。
オブジェクト {メソッド: "POST"、フォーム: オブジェクト、ヘッダー: オブジェクト} フォーム: oauth_token:"..." oauth_token_secret:"..." oauth_verifier:"71531"
ヘッダー: 承認: "OAuth oauth_consumer_key="...", oauth_nonce="3UlQ5dx958tibf6lSg0RUGPQFZeV7b8V", oauth_signature="weyE1lFkoIjAErYLKdSi9SDlCZsNBi7%2BuAkLV2PWePo%3D", oauth_signature_method="HMAC-SHA256", oauth_94token="814_4amp4"... "、oauth_token_secret="..."、oauth_verifier="71531"、oauth_version="1.0""
Oauth_token_secret を使用して、または使用せずに試してみました。また、oauth_verifier を本文からクエリに移動しましたが、署名の結果は同じでした。
何か案が?どうも