Получение токена при авторизации
Задача состоит в получении токена после ввода логина и пароля в новом окне через window.open по ссылке
const LoginPage = ({ setAuth }) => {
const FrameLogin = () => {
let childWindow = window.open(
"ссылка",
"child",
"width=500, height=500, id='child, location='true'"
);
};
После ввода логина пароля, в адресной строке появляется токен, но как его получить и на что вообще реагировать? Знаю, что можно взять window.location, но в какой момент?
Ответы (1 шт):
Автор решения: Zombotron
→ Ссылка
https://learn.javascript.ru/window-methods раздел Доступ к новому окну.
В коде с формой (в новом окне) вставить
<script>window.opener.token = window.location.href;window.opener.parseToken();</script>
а в родительском распарсить window.token в функции window.parseToken.
Вот пример, который работает, если ввести его в консоли:
window.parseToken = function (){
console.log(window.token);
}
var newWin = window.open("about:blank", "hello", "width=200,height=200");
newWin.document.write("<script>window.opener.token = window.location.href; window.opener.parseToken();</script>");
Играйтесь. )

