Javascript Firebase身份验证:错误:发生网络错误(例如超时、连接中断或无法访问主机)
我正在进行身份验证。该项目运行良好,并连接到firebase中的数据库,因为当我需要从项目中检索数据时,该项目有一些部分,当我尝试使用正确的电子邮件和密码登录时,我得到当前错误: 错误:发生网络错误(例如超时、连接中断或无法访问主机) loginAdminService:Javascript Firebase身份验证:错误:发生网络错误(例如超时、连接中断或无法访问主机),javascript,angular,firebase,firebase-authentication,Javascript,Angular,Firebase,Firebase Authentication,我正在进行身份验证。该项目运行良好,并连接到firebase中的数据库,因为当我需要从项目中检索数据时,该项目有一些部分,当我尝试使用正确的电子邮件和密码登录时,我得到当前错误: 错误:发生网络错误(例如超时、连接中断或无法访问主机) loginAdminService: import { Injectable } from '@angular/core'; import { AngularFireDatabase } from 'angularfire2/database'; import {
import { Injectable } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import { AngularFireAuth } from "@angular/fire/auth";
import * as fireBase from 'firebase';
@Injectable({
providedIn: 'root'
})
export class LoginAdminserviceService {
isAuth: boolean;
constructor(private angularFireAuth: AngularFireAuth,loginDatabase: AngularFireDatabase) {
}
async login(email: string, password: string) {
return new Promise(
(resolve,reject)=>{
fireBase.auth().signInWithEmailAndPassword(email,password).then(
()=>{
this.isAuth = true;
resolve();
},
(error)=>{
this.isAuth = false;
reject(error);
}
)
}
)
}
async logout() {
return await this.angularFireAuth.auth.signOut();
}
isUserLoggedIn() {
return JSON.parse(localStorage.getItem('user'));
}
}
身份验证组件:
import { Component, OnInit } from '@angular/core';
import { LoginAdminserviceService } from '../services/login-adminservice.service';
import { Route, Router } from '@angular/router';
@Component({
selector: 'app-authentication',
templateUrl: './authentication.component.html',
styleUrls: ['./authentication.component.css']
})
export class AuthenticationComponent implements OnInit {
constructor(private route:Router , public loginServiceasAdmin : LoginAdminserviceService) { }
ngOnInit() {
}
async loginAdmin(email:string,password:string){
this.loginServiceasAdmin.login(email,password).then(
()=>{
alert('Bienvenue '+email);
this.route.navigate(['/listreclamation']);
},
(error)=>{
console.log('Pas de connexion '+error);
alert('Votre compte est incorrect');
});
}
}
html页面:
<form>
Email:<input type="text" #email><br>
Password:<input type="password" #password><br>
<button type="submit" (click)="loginAdmin(email.value,password.value)">Login as Admin</button>
<button type="submit" (click)="this.loginServiceasAdmin.logout()">Logout</button>
</form>
电子邮件:
密码:
以管理员身份登录
注销
登录服务的简单示例:
导出类身份验证服务{
用户$:可观察
构造函数(专用afAuth:AngularFireAuth){
this.user$=this.syncUser()
}
//当用户登录时,监听功能触发一次。
同步用户(){
返回此.afAuth.authState.pipe(
开关映射(用户=>{
如果(用户){
返回(用户)
}否则{
返回(空)
}
})
)
}
//不需要返回,您可以始终实时侦听用户$variable。
异步登录(凭据:IdCredentials){
const result=wait this.afAuth.auth.signwithEmailandPassword(credentials.email,credentials.password)
返回结果
}
}
Firebase是一个封闭环境工作库。你需要利用它给你的东西。尝试阅读/观看一些教程,然后开始编写代码。