Я пытаюсь установить cook ie на выборку или топор ios, я уже проверил решения, опубликованные на github или stackoverflow, но ни одно из них сейчас не работает. Я использую Saml для аутентификации в моем проекте RN.
Итак, вот истории:
при первом входе в систему, если пользователь нажимает кнопку запуска, он вызывает api для получения информации профиля , если в заголовке нет cook ie, он возвращает URL-адрес перенаправления, а также cook ie (это неверный cook ie) и go на URL-адрес в веб-просмотре после того, как пользователь входит в веб-просмотр, затем исходный URL-адрес (получить api профиля) вызывается в веб-просмотре, после этого я бы взял auth cook ie, используя библиотеку response-native-cookies, а затем установил его в заголовке fetch / ax ios. но это не работает.
export async function getMyProfile() {
const cookies = await LocalStorage.getAuthCookies();
await CookieManager.clearAll(true)
const url = `${Config.API_URL}/profiles/authme`;
let options = {
method: 'GET',
url: url,
headers: {
'Content-Type': 'application/json',
},
withCredentials: true
};
if (cookies) options.headers.Cookie = cookies.join(';')
return axios(options)
.then(res => {
console.info('res', res);
return res;
}).catch(async (err) => {
if (err.response) {
if (err.response.status === 401) {
const location = _.get(err, 'response.headers.location', null);
const cookie = _.get(err, 'response.headers.set-cookie[0]', null);
await LocalStorage.saveUnAuthCookie(cookie);
return { location, cookie, isRedirect: true };
}
}
});
}