У меня есть проект, который я хочу обслуживать как междоменные сервисы, которые централизуют пользователя с другого веб-сайта.
Пример:
Служба кросс-доменов (CDS): https://cross -domain-services.firebaseapp.com / auth
Мой веб-сайт-a.com и website-b.com будут использовать iframe для вызова CDS для входа в систему анонимнопользователь.Чтобы я знал того же пользователя, который посетил website-a.com, а также посетил website-b.com
CDS имеет функцию в auth.component.ts
is getUserId
, которая возвращает userId
Пример кода:
getUserId(){
return new Promise(resolve=>{
this.firebase.auth.onAuthStateChanged(user => {
if (user) {
this.currentUser = this.firebase.auth.currentUser
resolve(this.currentUser.uid)
}
})
})
}
Однако я застрял на своем веб-сайте-a.com, а сайт-b.com не знает, как позвонить на getUserId()
и получитьсоответствующее значение.
Я пытался использовать следующий подход в соответствии с этой публикацией , но обнаружил ошибку:
Код:
(<HTMLIFrameElement>document.getElementById("auth-iframe")).contentWindow.getUserId().then(data=>{
console.log(data)
})
Ошибка: TypeError: document.getElementById(...).contentWindow.getUserId
Примечание: мой сайт website-a.com, website-b.com и CDS имеют угловую форму 6
Пожалуйста, помогите мне .. Спасибо ...