Files
2026-07-21 13:59:38 +07:00

41 lines
1.6 KiB
Plaintext

@using Indotalent.Infrastructure.Authentication.Identity
@using Microsoft.Extensions.Options
@inject IOptions<IdentitySettingsModel> IdentityOptions
@if (IdentityOptions.Value.SsoFirebase.IsUsed)
{
<script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-app-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-auth-compat.js"></script>
<script>
const firebaseConfig = {
apiKey: "@IdentityOptions.Value.SsoFirebase.ApiKey",
authDomain: "@IdentityOptions.Value.SsoFirebase.AuthDomain",
projectId: "@IdentityOptions.Value.SsoFirebase.ProjectId",
storageBucket: "@IdentityOptions.Value.SsoFirebase.StorageBucket",
messagingSenderId: "@IdentityOptions.Value.SsoFirebase.MessagingSenderId",
appId: "@IdentityOptions.Value.SsoFirebase.AppId"
};
if (typeof firebase !== 'undefined' && !firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
}
async function signInWithGoogle() {
if (typeof firebase === 'undefined') return null;
const provider = new firebase.auth.GoogleAuthProvider();
try {
const result = await firebase.auth().signInWithPopup(provider);
return { email: result.user.email };
} catch (error) {
console.error("Firebase Auth Error:", error);
return null;
}
}
async function firebaseLogout() {
if (typeof firebase !== 'undefined') {
await firebase.auth().signOut();
}
}
</script>
}