Fb.login () мгновенно возвращается, не ожидая модала регистрации WhatsApp (работает в статическом HTML, но не в EJS)Javascript

Форум по Javascript
Ответить
Anonymous
 Fb.login () мгновенно возвращается, не ожидая модала регистрации WhatsApp (работает в статическом HTML, но не в EJS)

Сообщение Anonymous »

Я внедряю встраиваемый поток регистрации WhatsApp, используя SDK Facebook. При вызове fb.login () обратный вызов работает мгновенно, и когда я заканчиваю процесс с модальным, ничего не происходит < /p>
- Примечание: тот же код, когда помещается в статический .html-файл и
, размещенный по HTTP, отлично работает, поток
static grasders nenenders (r-nenders nepr /> EJS): < /p>
async whatsappOnboardingStarter(@Query() query: { config: string }, @Res() res: Response) {
const nonce = crypto.randomBytes(16).toString('hex');
res.setHeader(
'Content-Security-Policy',
`script-src 'self' 'nonce-${nonce}' https://connect.facebook.net; frame-src https://www.facebook.com https://web.facebook.com;`
);
res.render('whatsapp-onboarding-starter', {
appId: this.configService.get('WHATSAPP_APP_ID'),
graphApiVersion: 'v22.0',
configId: this.configService.get('WHATSAPP_CONFIG_ID'),
host_url: this.configService.get('HOST_URL'),
restaurantData: query.config,
nonce,
});
}
< /code>
ejs шаблон: < /p>





Connect WhatsApp Business


window.fbAsyncInit = function () {
FB.init({
appId: '',
autoLogAppEvents: true,
xfbml: true,
version: '',
});
};

const fbLoginCallback = (response) => {
console.log('FB LOGIN CALLBACK', response);
// Additional logic...
};

const launchWhatsAppSignup = () => {
FB.login(fbLoginCallback, {
config_id: '',
response_type: 'code',
override_default_response_type: true,
extras: { setup: {}, featureType: '', sessionInfoVersion: '3' },
});
};

document
.getElementById('signup-button')
.addEventListener('click', launchWhatsAppSignup);





< /code>
Ответ, который возвращается немедленно при использовании EJS: < /p>
FB LOGIN CALLBACK : {
"authResponse": {
"accessToken": "........",
"userID": "........",
"expiresIn": 3600,
"signedRequest": "........",
"graphDomain": "facebook",
"data_access_expiration_time": 1750000000
},
"status": "connected"
}
< /code>
Примечание. Этот ответ связан исключительно с процессом входа в Facebook. Он не отображается на стороне HTML и отличается от ответа, возвращаемого всплывающим окном WhatsApp, который предоставляет отдельный набор данных.

то, что я пробовал:

lile cookies и локальное хранилище. /> Подтвержденные заголовки CSP разрешают Facebook sdk < /li>
нет javascript или сетевых ошибок в консоли < /li>
< /ul>

Подробнее здесь: https://stackoverflow.com/questions/795 ... l-works-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»