Google sign in custom domain
This should be accompanied by database security rules.
firebase.auth.GoogleAuthProvider
Firebase limit access to certain domains
Sets the OAuth custom parameters to pass in a Google OAuth request for popup and redirect sign-in operations. Valid parameters include 'hd', 'hl', 'include_granted_scopes', 'login_hint' and 'prompt'. For a detailed list, check the Google documentation. Reserved required OAuth 2.0 parameters such as 'client_id', 'redirect_uri', 'scope', 'response_type' and 'state' are not allowed and will be ignored
From setCustomParameters firebase docs
The domain in hd needs to be associated with G Suite domain
const provider = new firebase.auth.GoogleAuthProvider();
provider.setCustomParameters({
hd: "example.com"
});Wrapped in a function inside a react hook component
const signIn = () => {
const provider = new firebase.auth.GoogleAuthProvider();
provider.setCustomParameters({
hd: "wsj.com"
});
firebase
.auth()
.signInWithPopup(provider)
.then(function(result) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
console.log("signed-in", user);
// ...
})
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
console.log("error", error);
// ...
});
};in context in a react hook component
Last updated
Was this helpful?