Angular에서 Firebase를 사용한 인증
앱에 Firebase 변수 추가
export const environment = {
production: false,
url_api: '',
firebaseConfig: {
apiKey: '',
authDomain: '',
databaseURL: '',
projectId: '',
storageBucket: '',
messagingSenderId: '',
appId: '',
},
};
Firebase 모듈 가져오기
import { AngularFireAuthModule } from '@angular/fire/auth';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { environment } from './../environments/environment';
@NgModule({
//declarations
imports: [
//other modules
AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFireAuthModule
],
// providers: [],
// bootstrap: [AppComponent],
})
export class AppModule {}
인증 서비스에 fire 모듈 추가
import { Injectable } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/auth';
@Injectable({
providedIn: 'root',
})
export class AuthService {
constructor(private fireAuth: AngularFireAuth) {}
createUser(email: string, password: string) {
return this.fireAuth.createUserWithEmailAndPassword(email, password);
}
login(email: string, password: string) {
return this.fireAuth.signInWithEmailAndPassword(email, password);
}
logout() {
return this.fireAuth.signOut();
}
hasUser() {
return this.fireAuth.authState;
}
}
로그인 구성 요소에서 서비스 사용
login(event: Event) {
event.preventDefault();
if (this.form.valid) {
const value = this.form.value;
this.authService
.login(value.email, value.password)
.then(() => {
this.router.navigate(['/admin']);
})
.catch(() => {
alert('Invalid credentials');
});
}
}
보너스
다음 명령은 Firebase에 배포하는 데 유용합니다.
firebase init
ng build --prod
firebase deploy
브라우저에서 직접 특정 경로로 이동하려는 경우 찾을 수 없는 예외를 방지하기 위해 다음 줄을 firebase.json에 추가할 수 있습니다.
"hosting": {
// ...
// Serves index.html for requests to files or directories that do not exist
"rewrites": [ {
"source": "**",
"destination": "/index.html"
} ]
}
Reference
이 문제에 관하여(Angular에서 Firebase를 사용한 인증), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cyberdelahoz95/authentication-using-firebase-in-angular-213c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)