Обратный вызов google.accounts.id.initialize не срабатываетJavascript

Форум по Javascript
Ответить
Anonymous
 Обратный вызов google.accounts.id.initialize не срабатывает

Сообщение Anonymous »

Я пытаюсь настроить возможность для аутентифицированного пользователя управлять связанными с ним учетными записями OAuth. Вот код, который я использую в своем Angular компоненте:

Код: Выделить всё

linkGoogle(): void {
debugger; // this pauses 1st
const googleAuthButton = document.createElement('div');
googleAuthButton.setAttribute('id', 'google-button');

// Inject Google button dynamically
document.body.appendChild(googleAuthButton);

const client = google.accounts.id;
client.initialize({
client_id: environment.googleClientId,
callback: (response: any) => {
const idToken = response.credential;
console.log('Google Sign-In callback triggered:', response);
debugger; // this never pauses
// Use the new CustomerService method
this.customerService.linkGoogleAccount(idToken).subscribe({
next: () => {
this.snackBar.open('Google account linked successfully!', 'Close', {
duration: 3000,
});
document.body.removeChild(googleAuthButton); // Cleanup
this.authService.initializeAuth().subscribe(); // Refresh current user
},
error: (err) => {
console.error('Error linking Google account:', err);
this.snackBar.open('Failed to link Google account.', 'Close', {
duration: 3000,
});
},
});
},
auto_select: false,
cancel_on_tap_outside: true,
});
console.log('Client initialized:', client);
client.prompt();
}
Когда я вызываю эту функцию, я вижу отладчик; операторы приостанавливаются, но не тот, который я установил внутри определенной функции обратного вызова.
Я ожидаю, что будет вызван метод обратного вызова, чтобы я мог увидеть токен и управлять связанной учетной записью.

Подробнее здесь: https://stackoverflow.com/questions/793 ... not-firing
Ответить

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

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

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

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

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