Тема: Не працює POST запит на IOS девайсі React Native
Вітаю колеги.
Зіштовхнувся з одним дуже дивним моментом - на даний момент працюю з авторизацією для додатків, створених на React Native - для авторизації використовуємо https://github.com/react-native-google- … gle-signin дану бібліотеку.
Ситуація така, що отримані токени доступу з гугл потрібно передати на API - як виконує по таким токенам пошук і, у випадку успішного пошуку, повертає токен доступу до API.
Отримання токенів з гугл - є успішними, але з обміном токену до API - є проблема:
для android версій все працює відмінно - 100% точність входу та отримання даних з API. Але для IOS версія - сервер API постійно повертає 401 помилку з "Auth failed".
основний код запитів
try {
await GoogleSignin.hasPlayServices();
const userInfo = await GoogleSignin.signIn();
if (!R.isEmpty(userInfo)) {
const tokensData = await GoogleSignin.getTokens(); // отримує токен з гугл
const exchangeTokenRequest = await dispatch(
exchangeToken(tokensData.accessToken),
); // викионує обмін токену з API
if (exchangeTokenRequest?.error) {
await GoogleSignin.signOut();
showMessage({
message: localization.wrongCredentials,
description: localization.errorGoogleCredentials,
type: ToastMessageType.danger,
duration: TOASTER_TIMEOUT,
});
return;
}
dispatch(setUser(userInfo));
}
Код для exchange token методу
export const exchangeToken = (token: string): AnyAction => {
const params = new URLSearchParams();
params.append('google_token', token);
return {
type: EXCHANGE_TOKEN,
payload: {
request: {
method: Method.POST,
url: `/api/auth/google-token`,
params,
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
},
},
},
};
};
Але IOS у 100% крашить даний запит і завжди повертає помилку авторизації.
Підкажіть будь-ласка: чи є якісь потаємні закрами для роботи з такими запитами? Оскільки перевіряв відповідність даних між Android та IOS запитами - вони ідентичні...
Зарані дякую.