首先,需要安装和导入第三方库“@angular/cdk”和“@angular/material”。然后,解决方法如下:
确保应用程序的回调 URL 已在所选的 OAuth 服务提供商中注册。这是在该提供商控制面板中完成的。
在AppComponent的构造函数中注入AuthService,导入GoogleLoginProvider或FacebookLoginProvider,根据需要提供它们的clientId,并在AuthService中注册它们。例如:
import { Component } from '@angular/core';
import { AuthService, GoogleLoginProvider, FacebookLoginProvider } from 'angularx-social-login';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(private authService: AuthService) {
this.authService.addFacebook('CLIENT_ID_HERE');
this.authService.addGoogle('CLIENT_ID_HERE');
}
}
import { Component } from '@angular/core';
import { AuthService, GoogleLoginProvider, FacebookLoginProvider } from 'angularx-social-login';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent {
constructor(private authService: AuthService) {}
signInWithGoogle(): void {
this.authService.signIn(GoogleLoginProvider.PROVIDER_ID);
}
signInWithFacebook(): void {
this.authService.signIn(FacebookLoginProvider.PROVIDER_ID);
}
}
在login.component.html中添加登录按钮并为按钮添加(click)事件,该事件调用signInWithGoogle()或signInWithFacebook()。
重新启动Angular服务器并测试登录功能是否正常工作。