const functions = require("firebase-functions"); const admin = require("firebase-admin"); admin.initializeApp(functions.config().firebase); // On sign up. exports.processSignUp = functions.auth.user().onCreate((user) => { // Check if user meets role criteria: // Your custom logic here: to decide what roles and other `x-hasura-*` should the user get let customClaims; if (user.email && user.email.indexOf("@admin.imex.online") !== -1) { customClaims = { "https://hasura.io/jwt/claims": { "x-hasura-default-role": "admin", "x-hasura-allowed-roles": ["user", "admin"], "x-hasura-user-id": user.uid } }; } else { customClaims = { "https://hasura.io/jwt/claims": { "x-hasura-default-role": "user", "x-hasura-allowed-roles": ["user"], "x-hasura-user-id": user.uid } }; } // Set custom user claims on this newly created user. return admin.auth().setCustomUserClaims(user.uid, customClaims); });