1

「react-native-ssl-pinning」を使用して、iOS でリクエストを固定しています。POST 要求は成功しますが、ヘッダーがサーバーに到達しないため、GET 要求は失敗します。(認証トークンが見つからないとサーバーが訴えます。)しかし、同じコードは Android でも問題なく動作します。

Android の GET および POST リクエストでは、同じコード/モジュールが正常に動作します。

function fetch(URL、メソッド、データ) {

let fullURL = ApiEndpoint.BASE_URL + URL
let headers = {
    'Content-Type': "application/json",
    Accept: "application/json",
    'unique-id': '<sample-id>',
    'userId': '<sample>',
    'username': getUsername(),
    'jwt-token': getAuthToken(),
}

let promise = new Promise((resolve, reject) => {
    let fetchParams = {
        method: method,
        timeoutInterval: 20000,
        headers: headers,
    }
    if (method == Method.POST) {
        fetchParams.body = JSON.stringify(data)
    }

    fetch(fullURL, fetchParams).then(response => {
        let responseBody = JSON.parse(response.bodyString)         
        resolve({ ...response, data: responseBody })
    })
        .catch(err => {
            let response = { ...err }
            reject(response)
        })
})
return (() => promise)

}

GET 要求は、ヘッダーをサーバーに送信する必要があります。

4

0 に答える 0