Node.js 如何使用firebase、angular和node进行costum身份验证?
所以我正在用我的应用程序向firebase过渡 但我在firebase网站上关于如何认证用户的所有信息中迷失了方向。 我可以在firebase上创建用户,我有一个节点项目 因此,我的问题是: 我需要如何做登录部分 我需要在我的应用程序中调用firebase.auth().signInWithEmailAndPassword()吗 我是否需要调用我的节点应用程序并在那里进行自动验证 如何检查用户是否已登录 如果你们知道一本很好的读物,我很感兴趣 登录 方法一检查登录状态 方法二检查登录状态Node.js 如何使用firebase、angular和node进行costum身份验证?,node.js,angular,firebase,Node.js,Angular,Firebase,所以我正在用我的应用程序向firebase过渡 但我在firebase网站上关于如何认证用户的所有信息中迷失了方向。 我可以在firebase上创建用户,我有一个节点项目 因此,我的问题是: 我需要如何做登录部分 我需要在我的应用程序中调用firebase.auth().signInWithEmailAndPassword()吗 我是否需要调用我的节点应用程序并在那里进行自动验证 如何检查用户是否已登录 如果你们知道一本很好的读物,我很感兴趣 登录 方法一检查登录状态 方法二检查登录状态 asy
async loginStatus():Promise{
返回新承诺((解决、拒绝)=>{
const auth=firebase.auth()
auth.onAuthStateChanged(firebaseUser=>{
if(firebaseUser){
解析(真)
}否则{
解析(false)
}
})
})
}
异步checkLoginStatus(){
const isLoginSuccessed:boolean=wait this.loginStatus()
返回ISLOGINSACCESS;
}
希望这能有所帮助。thx,这给了我更多的洞察力,在谷歌搜索了更多之后,我找到了我需要的东西!大脑袋
import { AngularFireAuth } from '@angular/fire/auth'
import { AngularFireDatabase, AngularFireList ,AngularFireObject } from '@angular/fire/database';
import { Router } from '@angular/router';
import * as firebase from 'firebase';
@Injectable({
providedIn: 'root'
})
export class AuthService {
constructor(private fbAuth: AngularFireAuth ,public router:Router , public db :AngularFireDatabase) {}
login(email,password){
this.fbAuth.signInWithEmailAndPassword(email,password)
.then(async user =>{
await localStorage.setItem('userData', user.user.refreshToken)
this.router.navigate(['home'])
}).catch(error=>{
console.error(error)
}
}
}
isAuth(){
const luserData = localStorage.getItem('userData');
// console.log(userData);
if (luserData && luserData.length > 0) {
return true;
} else {
return false;
}
}
async loginStatus(): Promise<boolean> {
return new Promise((resolve,reject) => {
const auth = firebase.auth()
auth.onAuthStateChanged(firebaseUser => {
if(firebaseUser) {
resolve(true)
} else {
resolve(false)
}
})
})
}
async checkLoginStatus() {
const isLoginSuccessed: boolean = await this.loginStatus()
return isLoginSuccessed;
}