如何使用 angular 创建 angular-social-auth
How to make angular-social-auth using angular
我是 angular2-social-auth,在 angular 5 的项目中,但它给我一个错误代码:
Module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { Angular2SocialLoginModule } from "angular2-social-auth";
let providers = {
/* "google": {
"clientId": "GOOGLE_CLIENT_ID"
},
"linkedin": {
"clientId": "LINKEDIN_CLIENT_ID"
},*/
"facebook": {
"clientId": "MyGeneratedCode",
"apiVersion": "v2.11" //like v2.4
}
};
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
Angular2SocialLoginModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Angular2SocialLoginModule.loadProvidersScripts(providers);
component.ts :
import { Component, OnDestroy } from '@angular/core';
import { AuthService } from "angular2-social-auth";
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnDestroy {
title = 'app';
constructor(public _auth: AuthService){ }
signIn(provider){
this._auth.login(provider).subscribe(
(data) => {
console.log(data);
//user data
//first_name, last_name, image, uid, provider, email, token (returns accessToken for Facebook and Google no token for linkedIn)
}
)
}
logout(){
this._auth.logout().subscribe(
(data)=>{
//return a boolean value.
}
)
}
}
html :
<h1>
Sign in
</h1>
<button (click)="socialSignIn('facebook')">Sign in with Facebook</button>
<button (click)="socialSignIn('google')">Signin in with Google</button>
我按照文档告诉我的做了,请问有人能帮忙吗?
当我点击 facebook 按钮时,它给我这个错误:
TypeError: _co.socialSignIn is not a function
Stack trace:
View_AppComponent_0/<@ng:///AppModule/AppComponent.ngfactory.js:14:19
handleEvent@webpack-internal:///../../../core/esm5/core.js:13745:115
您尝试在 html 中调用一个名为 "socialSignIn" 的函数,但是我在您的代码中没有看到此函数。
所以错误信息很清楚:socialSignIn is not a function
尝试调用 signIn('facebook')
我是 angular2-social-auth,在 angular 5 的项目中,但它给我一个错误代码:
Module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { Angular2SocialLoginModule } from "angular2-social-auth";
let providers = {
/* "google": {
"clientId": "GOOGLE_CLIENT_ID"
},
"linkedin": {
"clientId": "LINKEDIN_CLIENT_ID"
},*/
"facebook": {
"clientId": "MyGeneratedCode",
"apiVersion": "v2.11" //like v2.4
}
};
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
Angular2SocialLoginModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Angular2SocialLoginModule.loadProvidersScripts(providers);
component.ts :
import { Component, OnDestroy } from '@angular/core';
import { AuthService } from "angular2-social-auth";
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnDestroy {
title = 'app';
constructor(public _auth: AuthService){ }
signIn(provider){
this._auth.login(provider).subscribe(
(data) => {
console.log(data);
//user data
//first_name, last_name, image, uid, provider, email, token (returns accessToken for Facebook and Google no token for linkedIn)
}
)
}
logout(){
this._auth.logout().subscribe(
(data)=>{
//return a boolean value.
}
)
}
}
html :
<h1>
Sign in
</h1>
<button (click)="socialSignIn('facebook')">Sign in with Facebook</button>
<button (click)="socialSignIn('google')">Signin in with Google</button>
我按照文档告诉我的做了,请问有人能帮忙吗? 当我点击 facebook 按钮时,它给我这个错误:
TypeError: _co.socialSignIn is not a function Stack trace: View_AppComponent_0/<@ng:///AppModule/AppComponent.ngfactory.js:14:19 handleEvent@webpack-internal:///../../../core/esm5/core.js:13745:115
您尝试在 html 中调用一个名为 "socialSignIn" 的函数,但是我在您的代码中没有看到此函数。
所以错误信息很清楚:socialSignIn is not a function
尝试调用 signIn('facebook')