У меня есть iframe, который я отправляю объекту данных, в котором есть id_token и access_token. Объект данных прибывает нормально, и я могу получить объект с помощью прослушивателя событий. Пример кода ниже. Однако, когда я получаю объект, я пытаюсь получить доступ к элементам в объекте и получить неопределенное. Я включил в консоль javascript неиспользованное изображение объекта, которое получаю.
Я включил фрагменты разных вещей, которые я пробовал, но безрезультатно.
Отображение фрейма
const data = {
id_token: idToken,
access_token: accessToken
};
Приложение, которое отображается в iframe
useEffect(() => {
window.addEventListener('message', receiveMessage, false);
function receiveMessage(event) {
if (event.origin !== 'https://example.com") {
return;
}
let eventData = event.data;
console.log(eventData); // The response is the object that is returned in the image below
console.log(eventData.id_token) // The response is undefined
console.log(eventData[id_token]) // undefined
console.log(eventData["id_token"] // undefined
console.log(eventData['"id_token"'] // undefined
// All three of these displayed each individual character of the object.
Object.keys(eventData).forEach(key => console.log(key, eventData[key]));
Object.getOwnPropertyNames(eventData).forEach(key =>
console.log(key, eventData[key])
);
for (let key in eventData) console.log(key, eventData[key]);
}
}, []);
В основном мне нужно извлечь токены доступа и id для аутентификации. Если есть лучший способ сделать это, я весь слух.
Снимок экрана возвращаемого объекта: