Estoy trabajando con Apple Social Sign On y necesito ejecutar una función después de un inicio de sesión exitoso. La función que se ejecuta cambiará dependiendo de dónde se encuentre el usuario en la aplicación.
Declaro un detector de eventos:
document.addEventListener("AppleIDSignInOnSuccess", (res) => mode === "login" ? Apple.onSignInSuccess(res, callbacks, mode) : Apple.onVerifySuccess(res, callbacks) ); El problema que tengo es que una vez que se declara este detector de eventos, cambiar el valor del mode variable no cambia el detector de eventos de documentos.
¿Hay alguna manera de actualizar los detectores de eventos de documentos?
La clase completa se define como:
export class Apple { static init(callbacks, mode) { const AppleID = window.AppleID; const redirectURIBase = DEV ? "app-dev" : "app"; const redirectURI = `https://${redirectURIBase}.sandboxx.us/profile`; document.addEventListener("AppleIDSignInOnFailure", (err) => Apple.onSignInFailure(err, callbacks) ); document.addEventListener("AppleIDSignInOnSuccess", (res) => mode === "login" ? Apple.onSignInSuccess(res, callbacks, mode) : Apple.onVerifySuccess(res, callbacks) ); AppleID.auth.init({ clientId: "com.sandboxx.web", scope: "name email", redirectURI, usePopup: true, }); } }