Need Help? We are right here!
Thanks for your inquiry.
If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com
Search Results:
×Firebase is the best platform for mobile application development which produces quality apps with features like app indexing, cloud messaging, remote configuration, hosting and In-app advertising. Firebase provides authentication options like backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app. It supports authentication using passwords, phone numbers, popular federated identity providers like Google, Facebook and Twitter, and more. Firebase Authentication integrates tightly with other Firebase services, and it leverages industry standards like JWT, OAuth 2.0 and OpenID Connect, so it can be easily integrated with custom backend.
We will be demonstrating below how we can achieve Single Sign-On (SSO) into Firebase using one or multiple SAML 2.0 compliant Identity Provider. We will be using miniOrange cloud service to achieve this. We support all known IDPs like miniOrange, Google Apps, ADFS, Okta, OneLogin, Azure AD, Salesforce, Shibboleth, SimpleSAMLphp, OpenAM, Centrify, Ping, RSA, IBM, Oracle, Bitium, WSO2, NetIQ etc.
miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, Azure AD, OpenLDAP, Google, AWS Cognito etc), Identity Providers (like Shibboleth, Ping, Okta, OneLogin, KeyCloak), Databases (like MySQL, Maria DB, PostgreSQL) and many more.
Custom Application Name | Choose appropriate name according to your choice. |
---|---|
Description | Add appropriate description according to your choice. |
Redirect-URL | JWT Endpoint fetched from JWT in the previous step. |
App Secret | The API Token fetched from Firebase dashboard |
Signature Algorithm | Choose HS256 |
<script src="/crypto-js/3.1.2/components/core-min.js"></script>
<script src="/components/sha256.js"></script>
<script src="/components/enc-base64.js"></script>
<script src="/rollups/aes.js"></script>
<script src="/components/mode-ecb.js"></script>
<script src="/components/pbkdf2.js"></script>
<script src="/components/pas-nopadding.js"></script>
<script>
function sendRequest(idpName)
{
var appSecret = ""; //miniOrange App Secret
var tokenKey = ""; //miniOrange Token Key of Customer
var customerId = ""; //miniOrange Customer ID
var responseUrl = ""; //Response URL (configured in Step 2)
var date = new Date();
var currentTimestamp = date.getTime();
var inputString = currentTimestamp + ":" + appSecret;
var keyHex = CryptoJS.enc.Utf8.parse(tokenKey);
var cipherText = CryptoJS.enc.Base64.stringify(CryptoJS.AES.encrypt(inputString, keyHex, {mode:CryptoJS.mode.ECB}).ciphertext);
var redirectUrl = "https://login.xecurify.com/moas/broker/login/jwt/" + customerId + "/" + idpName + "?token=" + cipherText + "&returnUrl=" + responseUrl;
window.location = redirectUrl;
}
</script>
function modifyJwtResponse(token)
{
//CONFIGURATION PARAMETERS
var iss = ""; //Project's Service Account Email Address
var sub = ""; //Project's Service Account Email Address
var aud = "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit"; //Required audience value
var base64Url = token.split('.')[1];
var base64 = base64Url.replace('-', '+').replace('_', '/');
var decodedToken = JSON.parse(window.atob(base64));
//MODIFY JWT VALUES BELOW
decodedToken['iss'] = iss;
decodedToken['sub'] = sub;
decodedToken['aud'] = aud;
//Base64 Encode Token
var encodedToken = btoa(JSON.stringify(decodedToken));
//CREATE NEW JWT TOKEN
var newToken = token.split('.');
var newJwtToken = newToken[0] + "." + encodedToken + "." + newToken[2];
return newJwtToken;
}
firebase.auth().signInWithCustomToken(token).catch(function(error)
{
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, Azure AD, OpenLDAP, Google, AWS Cognito etc), Identity Providers (like Okta, Shibboleth, Ping, OneLogin, KeyCloak), Databases (like MySQL, Maria DB, PostgreSQL) and many more. You can configure your existing directory/user store or add users in miniOrange.
1. Create User in miniOrange
2. Bulk Upload Users in miniOrange via Uploading CSV File.
Here's the list of the attributes and what it does when we enable it. You can enable/disable accordingly.
Attribute | Description |
---|---|
Activate LDAP | All user authentications will be done with LDAP credentials if you Activate it |
Sync users in miniOrange | Users will be created in miniOrange after authentication with LDAP |
Fallback Authentication | If LDAP credentials fail then user will be authenticated through miniOrange |
Allow users to change password | This allows your users to change their password. It updates the new credentials in your LDAP server |
Enable administrator login | On enabling this, your miniOrange Administrator login authenticates using your LDAP server |
Show IdP to users | If you enable this option, this IdP will be visible to users |
Send Configured Attributes | If you enable this option, then only the attributes configured below will be sent in attributes at the time of login |
Refer our guide to setup LDAPS on windows server.
miniOrange integrates with various external user sources such as directories, identity providers, and etc.
Contact us or email us at idpsupport@xecurify.com and we'll help you setting it up in no time.
Our Other Identity & Access Management Products