Hello there!

Need Help? We are right here!

Support Icon
miniOrange Email Support
success

Thanks for your Enquiry. Our team will soon reach out to you.

If you don't hear from us within 24 hours, please feel free to send a follow-up email to info@xecurify.com

Search Results:

×

Attribute Transformation


Expressions within attribute mappings allow you to modify and transform attributes before they are stored in miniOrange or sent to external applications. These transformations enable concatenating, manipulating, and referencing attributes for user profile creation, authentication, or provisioning.

Key Use Cases

  • Modify attributes before storing them in miniOrange: You can alter the values of attributes before saving them in the miniOrange user profile.
  • Send transformed attributes to apps or Service Providers (SPs): Use expressions to format or adjust data before it is passed to an application during authentication or provisioning.

IdP User Profile and Attribute Referencing


External Identity Provider (IdP) profiles store specific user information. These profiles can be referenced and transformed to:

  • Create miniOrange-Compatible Usernames: Example: Strip or modify email addresses to match miniOrange conventions.
  • Map External Attributes to Internal Variables: Reference external IdP attributes by specifying the variable (e.g., ${email}, ${fname}, ${lname}).

Configuring Attribute Mappings


Follow these steps to map attributes in the miniOrange Admin Console:

  • Navigate to Identity Providers.
  • Select your IDP and click on Configure Attribute Mapping.
  • Choose one of the following attribute types:
    • USER: Used for mapping values to IdP user attributes during Just-In-Time (JIT) user creation. These attributes are used to create IdP user profiles.
    • EXTERNAL: Used for transforming external attributes before they are sent to apps or Service Providers (SPs).

Mapping External Attributes


Transform incoming attribute names using EXTERNAL mappings before passing them to target applications.

Example: Map fName to first_name when sent to an app.

  • Input: fName
  • Output: first_name

Common Expression Functions

Below are commonly used functions for transforming attributes within expressions:

Function Example Input Output
toUpperCase Str.toUpper(${fname}) Alexander ALEXANDER
toLowerCase Str.toLower(${fname}) AlexANDER alexander
substringBefore Str.splitGet(${email}, "@", "0") alex@miniorange.com alex
substringAfter Str.splitGet(${email}, "@", "1") alex@miniorange.com miniorange.com

Initialization of Key Attributes

Initialize key attributes for transformations:

  • Email: John@gmail.com
  • First Name: John
  • Last Name: Doe

Example Expressions


  • Concatenate First Name with a Suffix
  • ${fname} + "123"; // Result: "John123"
  • Combine First and Last Name:
  • ${fname} + " " + ${lname}; // Result: "John Doe"
  • Add a Middle Name:
  • ${fname} + " Kumar " + ${lname}; // Result: "John Kumar Doe"
  • Replace Email Domain:
  • Str.splitGet(${email}, "@", "0") + "@custom-domain.com"; / Result: "johnd@custom-domain.com"
  • Pick a Specific Email from an Array:
  • Str.splitGet(emailArray, ";", "1"); // Input: "ab@ab.ab;bc@bc.bc;cd@cd.cd" // Result: "bc@bc.bc"
  • Pick Specific Elements from an Array Based on Prefix:
  • Arr.startsWith(groupsArray, ",", "Grp_SNI,GRP1_", ","); // Input: "GRP_SNI_qwjfbq,Grp_SNI_hellogroup,GRP1_sni_fwefwe,GRP1_EMI,demogroup,testgroup,grp1_username" // Result: "Grp_SNI_hellogroup,GRP1_sni_fwefwe,GRP1_EMI"
  • Pick Specific Elements from an Array Based on Prefix (Ignore Case):
  • Arr.startsWithIgnoreCase(groupsArray, ",", "Grp_SNI,GRP1_", ","); // Input: "GRP_SNI_qwjfbq,Grp_SNI_hellogroup,GRP1_sni_fwefwe,GRP1_EMI,demogroup,testgroup,grp1_username" // Result: "GRP_SNI_qwjfbq,Grp_SNI_hellogroup,GRP1_sni_fwefwe,GRP1_EMI,grp1_username"