Итак, я построил приложение, в котором мы можем назначить задачи и установить крайний срок и т. Д. Все работало (включая мою страницу логина и регистрации). Я хотел реализовать стороннюю аутентификацию в этом приложении. Я все реализовал правильно, и я знаю, что там как -то есть небольшая ошибка. Как только я щелкну в систему с Google, он прекрасно переходит на страницу входа Google и позволяет мне выбрать свою учетную запись. Но после этого это показывает, что «все поля требуются» на моем сервере. Помогите мне исправить, пожалуйста. Я прикрепляю код для вашей ссылки. < /P>
[это моя конечная точка входа] [1]. [Это мой логин.html] [2] < /p>
'' '< /p>
import { Component, OnInit } from '@angular/core';
import { GlobalTextBoxComponent } from '../global-text-box/global-text-box.component';
import { GlobalButtonComponent } from '../global-button/global-button.component';
import { FloatLabelType } from '@angular/material/form-field';
import { HttpClient } from '@angular/common/http';
import { Router } from '@angular/router';
import { RouterModule } from '@angular/router';
@Component({
selector: 'app-login-page',
imports: [GlobalTextBoxComponent, GlobalButtonComponent, RouterModule],
templateUrl: './login-page.component.html',
styleUrl: './login-page.component.scss',
})
export class LoginPageComponent {
textBoxes = [
{
label: 'Email',
placeholder: 'Enter your email',
value: '',
type: 'email',
disabled: false,
floatLabel: 'auto' as FloatLabelType,
},
{
label: 'Password',
placeholder: 'Enter your password',
value: '',
type: 'password',
disabled: false,
floatLabel: 'auto' as FloatLabelType,
},
];
constructor(
private http: HttpClient,
private router: Router,
) {}
updateTextBox(event: { label: string; value: string }) {
const textBox = this.textBoxes.find((tb) => tb.label === event.label);
if (textBox) textBox.value = event.value;
}
loginUser() {
const userData = {
email: this.textBoxes.find((tb) => tb.label === 'Email')?.value || '',
password:
this.textBoxes.find((tb) => tb.label === 'Password')?.value || '',
};
if (!userData.email || !userData.password) {
console.error('All fields are required!');
return;
} else {
this.router.navigateByUrl('/a-sign');
}
this.http.post('http://localhost:3000/login', userData).subscribe(
(response: any) => {
localStorage.setItem('authToken', response.token);
localStorage.setItem('profile_picture', response.user.profile_picture);
console.log('hey hey heyyyyyyy::::', localStorage.getItem('authToken'));
console.log('Login successful!', response);
},
(error) => console.error('Login failed', error)
);
}
}
< /code>
'' 'Это мой файл login.component.ts. Если что -то еще нужно, пожалуйста, дайте мне знать.
[1]: https://i.sstatic.net/3kmmprypl.png
[2]: https://i.sstatic.net/dznoqs4e.png
Подробнее здесь: https://stackoverflow.com/questions/794 ... pplication
Я хотел внедрить Google Oauth в моем угловом приложении ⇐ Javascript
Форум по Javascript
-
Anonymous
1741347117
Anonymous
Итак, я построил приложение, в котором мы можем назначить задачи и установить крайний срок и т. Д. Все работало (включая мою страницу логина и регистрации). Я хотел реализовать стороннюю аутентификацию в этом приложении. Я все реализовал правильно, и я знаю, что там как -то есть небольшая ошибка. Как только я щелкну в систему с Google, он прекрасно переходит на страницу входа Google и позволяет мне выбрать свою учетную запись. Но после этого это показывает, что «все поля требуются» на моем сервере. Помогите мне исправить, пожалуйста. Я прикрепляю код для вашей ссылки. < /P>
[это моя конечная точка входа] [1]. [Это мой логин.html] [2] < /p>
'' '< /p>
import { Component, OnInit } from '@angular/core';
import { GlobalTextBoxComponent } from '../global-text-box/global-text-box.component';
import { GlobalButtonComponent } from '../global-button/global-button.component';
import { FloatLabelType } from '@angular/material/form-field';
import { HttpClient } from '@angular/common/http';
import { Router } from '@angular/router';
import { RouterModule } from '@angular/router';
@Component({
selector: 'app-login-page',
imports: [GlobalTextBoxComponent, GlobalButtonComponent, RouterModule],
templateUrl: './login-page.component.html',
styleUrl: './login-page.component.scss',
})
export class LoginPageComponent {
textBoxes = [
{
label: 'Email',
placeholder: 'Enter your email',
value: '',
type: 'email',
disabled: false,
floatLabel: 'auto' as FloatLabelType,
},
{
label: 'Password',
placeholder: 'Enter your password',
value: '',
type: 'password',
disabled: false,
floatLabel: 'auto' as FloatLabelType,
},
];
constructor(
private http: HttpClient,
private router: Router,
) {}
updateTextBox(event: { label: string; value: string }) {
const textBox = this.textBoxes.find((tb) => tb.label === event.label);
if (textBox) textBox.value = event.value;
}
loginUser() {
const userData = {
email: this.textBoxes.find((tb) => tb.label === 'Email')?.value || '',
password:
this.textBoxes.find((tb) => tb.label === 'Password')?.value || '',
};
if (!userData.email || !userData.password) {
console.error('All fields are required!');
return;
} else {
this.router.navigateByUrl('/a-sign');
}
this.http.post('http://localhost:3000/login', userData).subscribe(
(response: any) => {
localStorage.setItem('authToken', response.token);
localStorage.setItem('profile_picture', response.user.profile_picture);
console.log('hey hey heyyyyyyy::::', localStorage.getItem('authToken'));
console.log('Login successful!', response);
},
(error) => console.error('Login failed', error)
);
}
}
< /code>
'' 'Это мой файл login.component.ts. Если что -то еще нужно, пожалуйста, дайте мне знать.
[1]: https://i.sstatic.net/3kmmprypl.png
[2]: https://i.sstatic.net/dznoqs4e.png
Подробнее здесь: [url]https://stackoverflow.com/questions/79492173/i-wanted-to-implement-google-oauth-in-my-angular-application[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия