Thought Process behind this implementation
Two days ago I got one requirement
of integrating between Salesforce and Quip, where Salesforce will act as
Identity Provider and Quip will be acting like Service Provider.
To achieve this
functionality I have used Self Signed Certificate for authentication and Single
Sign on is being made by Security Assertion Markup language (SAML).
Use Case
Once Quip has been set up
and connection is being made with Salesforce user will be able to see all the
documents (whatever they have created in Quip) in Account Layout (took the
Account as example, you can add the quip component to other layouts as well).
Now the problem is while
working into Salesforce environment if User wants to open that document in Quip
by clicking it from Salesforce, every-time users’ needs to login in to Quip
with their credentials. They don’t want login every time as it is time taking
and at the same time monotonous as well. So we have to create some integration
between them to achieve this functionality.
How Architecture works behind
- The user tries to access a service provider already defined in Salesforce.
- Salesforce sends a SAML response to the service provider.
- The service provider identifies the user and authenticates the certificate.
- If the user is identified, the user’s logged in to the service provider.
Things needs to be checked before start the development
- You need to be a Salesforce Admin for your instance.
- You need to have a Quip for Salesforce license or be on a Quip for Salesforce Trial.
- You need to be a Quip Admin if your Quip Site already exists.
- If you can see the Quip Admin Console, you are a Quip Admin.
- Configure a domain using My Domain and deploy it to all users. For instructions, see Set up a My Domain Name.
- Your Salesforce email/username/Federation ID must match the email you use within Quip.
- Double check that your permission sets have been set to allow access to Single Sign On to all necessary users. This can be found within Salesforce under the Quip Permission Sets.
Process to Implement:
Download the Quip Metadata File
- Open the Quip Admin Console, and go to the “Accounts and
Access” tab

- Click on the “For entity ID and destination URL, download Quip’s metadata” to Download the Quip metadata file. It will look like below :
From the metadata.xml we need the Entity Id and the Location
URL to configure the Connected App in Salesforce. We will discuss on it in
sometime.
Once above steps are completed, you can then continue to configure Salesforce as an Identity Provider.
Configuration needs to be done in Salesforce:
- Select the gear icon within your Salesforce instance, and select “Setup”. Search for Certificate and Key Management and click “Create Self-Signed Certificate.”
[Note: By default, a
Salesforce identity provider uses a self-signed certificate generated with the
SHA-256 signature algorithm. Use the certificates when securely communicating
with other services. If you want to use a CA-signed certificate instead of
self-signed certificate, you can use that also. For this POC have used
self-signed certificate.]
- Label Name <Give any name> (have given as “QuipTest”)
- Key Size <keep it default as 2048>
- Keep all the others attribute as it is.
Click “Save”.
3. On the left hand side of
the screen, within the Quick Find search bar, enter Identity Provider, select
Identity Provider, and click Enable Identity Provider.
4. Select the certificate
which you just created (in our case it will be QuipTest) and click Save.
5. Once
you click Save, you will then see at the bottom of the page “Use Connected Apps
to create a Service Provider”
[Note :As a reminder, your Identity
Provider (Salesforce) would be what your Service Provider (Quip or any other
connected App Program) authenticates into when logging in.]
6. Within the Service Provider
configuration, you can then enter the following items.
- Name: Name your Service Provider, (i.e. Quipconnect)
- Include your contact email
- Click the “Enable SAML” checkbox to fill the below parameters: -
- Entity ID: (This can be found within the Quip metadata file. Refer section Download the Quip Metadata File)
- Start URL: (This would be the location URL within your Quip metadata file.Refer section Download the Quip Metadata File)
- ACS URL: (This would be the location URL within your Quip metadata.Refer section Download the Quip Metadata File)
- Subject Type : It should be the attribute which is unique in the your Salesforce org , and match with the email id of Quip)
- Name ID Format : urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
- IdP Certificate : Select the self-signed Certificate which you have created (in your case it will be “QuipTest” )
7. Make sure to check that your users have been correctly assigned the
permission sets within Salesforce. You can do this by going to the newly
created Quip Service Provider, and assign Quip and the specified users that are
within Salesforce and your Quip Site.
8. After the Service Provider section is completed,
you can then download the metadata from the Identity Provider page.
9. Once done please go to the Profile for the User (by which the
configuration is being done) in Salesforce and give the permission for the
newly created connected App.
10. Open the Quip Admin Console, and go to the
“Accounts and Access” tab.
11. Create a new SAML configuration,
by naming the configuration and uploading the Salesforce Metadata (Just
downloaded from Identity provider section) into the "Upload File"
section.
12. Uploading
the correct file you will get a Successful message:
13. Enter your email that is being used to log you into the Quip Admin
portal as the initial “Test Email”.
14. After this, you should then see a pop-up window for Salesforce, use your
specified credentials to log into Salesforce and complete the authentication
process.
15. You will then be prompted to “Configure for Test Users” or to “Configure
for Entire Company”. If you would like to test users, you can use any users
within your Quip instance that has Salesforce credentials set up. Then hit
“Enable”.
16. You should then see that the configuration is set to “Enabled” for SAML!
You can always go into the configuration and “Disable” if you would like to
turn it off or change the configuration to either “Enable for entire company”
or “Enable for Select Users”.
[Note: If you would
like to exempt certain users from your site for SAML, add their domain to the
“Exempted Domain” option within the configuration. The correct way to enter the
exempted domain is to follow this format website.com, you will not need to include the ‘@’
symbol or www. Format.]
Your setup is ready to use.


















No comments:
Post a Comment