Код: Выделить всё
import Cookies from 'js-cookie';
import { LoginTokens } from '@/types/auth';
export const saveTokensToCookies = (loginTokens: LoginTokens) => {
...
Cookies.set('accessToken', loginTokens.accessToken, {
expires: expiresAt,
});
}
export const getTokenFromCookies = (token: string): string | undefined => {
if (token === TokenTypes.ACCESS_TOKEN) {
return Cookies.get(TokenTypes.ACCESS_TOKEN);
}
if (token === TokenTypes.REFRESH_TOKEN) {
return Cookies.get(TokenTypes.REFRESH_TOKEN);
}
return undefined;
};
Однако, когда я пытаюсь получить доступ к этим значениям из веб-просмотра, похоже, оно не сохраняется в файлах cookie браузера. Хотя я понимаю, что веб-просмотр не запускается внутри браузера, я хотел бы знать какие-либо альтернативные способы решения этой проблемы? Мне нужно иметь возможность хотя бы войти в свое приложение реагирования из моего веб-просмотра, но, поскольку оно зависит от файлов cookie браузера, это представляет собой проблему. Ниже описано, как я могу проверить файлы cookie из моего собственного приложения React.
Код: Выделить всё
const CHECK_COOKIE: string = `
ReactNativeWebView.postMessage("Cookie: " + document.cookie);
true;
`;
const onNavigationStateChange = (navigationState: WebViewNavigation) => {
if (webviewRef.current) {
webviewRef.current.injectJavaScript(CHECK_COOKIE);
} else {
console.log('no webview');
}
};
const onMessage = (event) => {
const { data } = event.nativeEvent;
console.log(data);
};
return (
)
Как я могу войти в систему из своего веб-просмотра? Есть предложения?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -undefined
Мобильная версия