Skip to content

Commit

Permalink
Add getFirebaseAuth function
Browse files Browse the repository at this point in the history
  • Loading branch information
kamarmack committed May 31, 2024
1 parent fe91331 commit dc772cd
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
29 changes: 29 additions & 0 deletions lib/utils/cloud/firebase/getFirebaseAuth.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// eslint-disable-next-line import/no-unresolved
import { App as FirebaseApp, ServiceAccount } from 'firebase-admin/app';
// eslint-disable-next-line import/no-unresolved
import { type Auth, getAuth } from 'firebase-admin/auth';
import { GeneralizedSecretData } from 'ergonomic-node/lib/utils/environment/index.js';
import { getFirebaseApp } from 'ergonomic-node/lib//utils/cloud/firebase/getFirebaseApp.js';

export const getFirebaseAuth = (
credentialsOrFirebaseApp:
| ServiceAccount
| GeneralizedSecretData
| FirebaseApp,
): Auth => {
const firebaseApp =
'clientEmail' in credentialsOrFirebaseApp &&
'privateKey' in credentialsOrFirebaseApp &&
'projectId' in credentialsOrFirebaseApp
? getFirebaseApp(credentialsOrFirebaseApp)
: 'SECRET_CRED_FIREBASE_ADMIN_SERVICE_ACCOUNT_CLIENT_EMAIL' in
credentialsOrFirebaseApp &&
'SECRET_CRED_FIREBASE_ADMIN_SERVICE_ACCOUNT_PRIVATE_KEY' in
credentialsOrFirebaseApp &&
'SECRET_CRED_FIREBASE_ADMIN_SERVICE_ACCOUNT_PROJECT_ID' in
credentialsOrFirebaseApp
? getFirebaseApp(credentialsOrFirebaseApp)
: (credentialsOrFirebaseApp as FirebaseApp);

return getAuth(firebaseApp);
};
1 change: 1 addition & 0 deletions lib/utils/cloud/firebase/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
export * from 'ergonomic-node/lib/utils/cloud/firebase/getCloudStorageBucket.js';
export * from 'ergonomic-node/lib/utils/cloud/firebase/getFirebaseAdminServiceAccount.js';
export * from 'ergonomic-node/lib/utils/cloud/firebase/getFirebaseApp.js';
export * from 'ergonomic-node/lib/utils/cloud/firebase/getFirebaseAuth.js';
export * from 'ergonomic-node/lib/utils/cloud/firebase/getFirestoreDB.js';

0 comments on commit dc772cd

Please sign in to comment.