Adding Apps - Use custom expressions as Name ID for SAML apps | Admin Guide - Zoho Directory

Use custom expressions as Name ID for SAML apps

Once you enable and configure SAML SSO for your apps in Zoho Directory, Zoho Directory will authenticate your users into those apps. During authentication, Zoho Directory will pass a value called Name ID to the apps. The Name ID matches user identities in Zoho Directory with user identities in the app.

Example:
Consider a user, Amelia, has an email address amelia@zylker.app and a bank account number 123******47. Let's say a banking app, BankApp, requires users to enter their account number as the username when signing in. In other words, BankApp uses 123******47 to identify Amelia instead of using amelia@zylker.app.

Normally, when SAML SSO is configured between Zoho Directory and an app, Zoho Directory will pass the email address of the users as Name ID. However, BankApp is expecting an account number, not an email address; if amelia@zylker.app is passed to BankApp as Name ID, BankApp will show an error saying that it wasn't able to find any user whose account number is amelia@zylker.app. So the admin who sets up SSO will have to configure Zoho Directory to pass the account number to BankApp as Name ID.

As the Name ID needs to be unique, most apps use the user's primary email address as Name ID. But you can also define other user information (such as first and last names, or any custom fields that you have created for them) as the Name ID. This can be useful in cases where the app doesn't support email address as username, or in apps you've developed and implemented to use non-conventional authentication methods.

To change the Name ID for an app:
  1. Sign in to Zoho Directory , then click Admin Panel in the left menu.
  2. Go to Applications, then click on the app you want to change the Name ID for.
  3. Go to Single Sign-On, then click Service Provider Details.
  4. Under Credential Details, you can set:
    1. Application Username: The field that has to be passed to the app as username.
    2. Name ID format: The format in which the username has to be passed.
  5. Click Save.
For advanced requirements, you can set the Application Username as a custom expression constructed as a combination of multiple fields. These expressions can be constructed using string manipulation methods on various fields in Zoho Directory.

The custom expression must be written in the following format:
String_method(<string>,<additional_values>)



For example, an organization may have a custom-built application that uses a combination of the user's email username and employee ID as the username. So, a Zoho Directory user with the email address amelia@zylker.app and an employee ID of 7469 will use amelia-7469 as the username for the custom-built application. In this case, the admin would set the Name ID format as Unspecified, the Application Username as Custom, and the Expression Value as:
String.append(String.replace(user.email,"@zylker.app","-"),user.Employee ID)

Here's how this expression works:
  1. String.replace will be executed first. It replaces the email domain of the user (@zylker.app) with a hyphen, converting amelia@zylker.app to amelia-.
  2. String.append will be executed next, and it appends the employee ID (7469) to the end of the output we got in the previous step (amelia-). So the final Application Username passed to the app would be amelia-7469.
The following table lists the fields that you can use to construct these expressions, and their corresponding formats:

Field name
Format
First name
user.firstName
Last name
user.lastName
Primary email address
user.email
Full name
user.displayName
Any custom fields' information
user.<custom field>
Example: For a field named Vehicle Number , the format would be user.Vehicle Number.

The string methods that you can use to construct expressions are:

String methods
Expression format
Description
Example
Append
String.append(<string>,<string_to_be_appended>)
Adds <string_to_be_appended> to the end of the <string>.
String.append(user.firstName,user.Employee ID)

The value in the user's "Employee ID" field will be appended with the user's first name. If a user's first name is "Amelia" and employee ID is "7469," then the value will be "Amelia7469".
Index Of
String.indexOf(<string>,<character>)
Returns the position of the first instance of the given character in the <string>.
String.indexOf(user.firstName,"o")

Returns the position of the first instance of the character "o" within the user's first name. If a user's first name is "Johnson", then the position of the first occurrence of the character "o" will be returned, which is 2.
Replace
String.replace(<string>,<string_to_be_removed>,<string_to_be_placed>)
Replaces all occurrences of <string_to_be_removed> in the <string> with <string_to_be_placed>.
String.replace(user.firstName,"e","a")

All the occurrences of "e" will be replaced by "a". If a user's first name is "Ellen", then all occurrences of the character "e" in the name will be replaced by "a", giving " Allan" as the output.
Replace First
String.replaceFirst(<string>,<string_to_be_removed>,<string_to_be_placed>)
Replaces the first occurrence of <string_to_be_removed> in the <string> with <string_to_be_placed>.
String.replaceFirst(user.firstName,"e","a")

The first occurrence of "e" will be replaced by "a". If a user's first name is "Ellen", then the first occurrence of the character "e" in the name will be replaced by "a", giving "Allen" as the output.
Substring
String.substring(<string>,<beginIndex>,<endIndex>)
Fetches the part of the <string> that is specified by the indexes.
String.substring(user.firstName,0,1)

The first and second characters from the user's first name will be fetched. If a user's first name is "John", then the string "Jo" will be returned.
To Lower Case
String.toLowerCase(<string>)
Converts all characters in the given string to lower case.
String.toLowerCase(user.firstName)

The characters in the user's first name will be converted to lower case. If a user's first name is "John", "john" will be returned.
To Upper Case
String.toUpperCase(<string>)
Converts all characters in the given string to upper case.
String.toUpperCase(user.firstName)

The characters in the user's first name will be converted to upper case. If a user's first name is "John", then "JOHN" will be returned.
Trim
String.trim(<string>)
Removes leading and trailing spaces in the given string. Can be used to sanitize fields that might have typos, or strings that were derived using other methods like substring.
String.trim(user.displayName)

The blank spaces, if any, will be removed. For example, if the full name of a user is " Johnson Doe", then the space before "Johnson" will be removed, and "Johnson Doe" will be returned.


    Zoho CRM Training Programs

    Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

    Zoho CRM Training
      Redefine the way you work
      with Zoho Workplace

        Zoho DataPrep Personalized Demo

        If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

        Zoho CRM Training

          Create, share, and deliver

          beautiful slides from anywhere.

          Get Started Now


            Zoho Sign now offers specialized one-on-one training for both administrators and developers.

            BOOK A SESSION








                                    You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.




                                        Manage your brands on social media

                                          Zoho Desk Resources

                                          • Desk Community Learning Series


                                          • Digest


                                          • Functions


                                          • Meetups


                                          • Kbase


                                          • Resources


                                          • Glossary


                                          • Desk Marketplace


                                          • MVP Corner


                                          • Word of the Day


                                            Zoho Marketing Automation

                                              Zoho Sheet Resources

                                               

                                                  Zoho Forms Resources


                                                    Secure your business
                                                    communication with Zoho Mail


                                                    Mail on the move with
                                                    Zoho Mail mobile application

                                                      Stay on top of your schedule
                                                      at all times


                                                      Carry your calendar with you
                                                      Anytime, anywhere




                                                            Zoho Sign Resources

                                                              Sign, Paperless!

                                                              Sign and send business documents on the go!

                                                              Get Started Now




                                                                      Zoho TeamInbox Resources



                                                                              Zoho DataPrep Resources



                                                                                Zoho DataPrep Demo

                                                                                Get a personalized demo or POC

                                                                                REGISTER NOW


                                                                                  Design. Discuss. Deliver.

                                                                                  Create visually engaging stories with Zoho Show.

                                                                                  Get Started Now









                                                                                                      • Related Articles

                                                                                                      • Custom field is being used in the custom Name ID attribute to provide SSO

                                                                                                        Description You may encounter this error when you're trying to disable or delete a custom field. Reason When setting up single sign-on (SSO) for Directory apps and custom SAML apps, a value called Name ID can be passed from Zoho Directory to the ...
                                                                                                      • Custom authentication with miniOrange

                                                                                                        Prerequisites Roles required to perform this action : Organization Owner Organization Admin Configure SAML with miniOrange Sign in to the miniOrange admin console. Click Apps in the left menu, then click Add Application. In the Choose Application ...
                                                                                                      • Custom authentication with CyberArk

                                                                                                        Prerequisites Roles required to perform this action : Organization Owner Organization Admin Configure SAML with CyberArk Sign in to the CyberArk admin console. Click Web Apps under Apps in the left pane. Click Add Web Apps, then search for "Zoho". ...
                                                                                                      • Add SAML custom app

                                                                                                        General Info: The Free plan allows you to add only up to 10 non-Zoho apps. Note: Check our app directory to see if the app you need is already integrated with Zoho Directory, or request an integration. Prerequisites Permissions required to perform ...
                                                                                                      • Adding apps - Overview

                                                                                                        General Info: The Free plan allows you to add only up to 10 non-Zoho apps. Zoho Directory supports adding and managing four different types of apps: Directory apps These are pre-integrated SSO apps available in the app directory. SAML custom apps ...
                                                                                                        Wherever you are is as good as
                                                                                                        your workplace

                                                                                                          Resources

                                                                                                          Videos

                                                                                                          Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                                                                                          eBooks

                                                                                                          Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                                                                                          Webinars

                                                                                                          Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                                                                                          CRM Tips

                                                                                                          Make the most of Zoho CRM with these useful tips.



                                                                                                            Zoho Show Resources