miniOrange HubSpot OAuth Single Sign-On (SSO) application enables secure login into HubSpot CMS landing pages, blogs and other pages using Googleas OAuth provider. It supports advanced Single Sign-On (SSO) features such as user profile Attribute mapping, etc.
Here we will go through a guide to configure SSO between HubSpot and Google. By the end of this guide, users should be able to login to HubSpot from Google. To know more about miniOrange HubSpot OAuth Single Sign-On plugin and other HubSpot Integrations, you can
click here.
Feel free to contact us at hubspotsupport@xecurify.com to know more about how to install the miniOrange HubSpot OAuth Single Sign-On app.
Pre-requisites : Download And Installation
- Log into your HubSpot account as an admin.
-
Click here
to install miniOrange HubSpot OAuth Single Sign-On (SSO) app. Or you can install our app from
HubSpot Marketplace
.
Steps to configure HubSpot Single Sign-On (SSO) Login with Google as Identity Provider
1. Setup Google as OAuth Provider
- Go to https://console.developers.google.com/ and sign up/login.
- Click on Select Project to create a new Google Apps Project,you will see a popup with the list of all your projects.
- You can click on the New project button to create new project.
- Enter your Project name under the Project Name field and click on Create.
- Go to Navigation MenuAPIs & ServicesCredentials.
- Click on Create Credentials button and then select OAuth Client ID from the options provided.
- In case you are facing some warning saying that in order to create an OAuth Client ID, you must set a product name on consent screen (as shown in below image). Click on the Configure consent screen button.
- Choose how you want to configure and register your app and click on create button.
- Enter the required details such as App Name, User Support Email. and click on Save and Continue button.
- Now for configuring scopes, click on Add or Remove the Scopes button.
- Now, Select the Scopes to allow your project to access specific types of private user data from their Google Account and click on Update button.
- Go to the Credentials tab and click on Create Credentials button. Select Web Application from dropdown list to create new application.
- Enter the name you want for your Client ID under the name field and enter the Redirect/Callback URI from miniOrange OAuth Client plugin/module under the Authorized redirect URIs field and click on Create button.
- You will see a popup with the Client ID and Client Secret Copy your Client ID and Client Secret and save it on your miniOrange OAuth Client plugin Configuration.
2. Setup HubSpot as OAuth Client
- Go to the miniOrange Single Sign-On (SSO) app and login with your credentials.
- Choose your account by clicking on Choose Account button.
- After that Click on the right icon for accessing the application.
- You will see the following screen where you need to fill in the Client ID, Client Secret scope and the Endpoint URLs in the
plugin (Refer to the below table). Also enable the Send in Body parameter option.
Client ID |
Click Here |
Client Secret |
Click Here |
Scope |
openid email profile |
Header / Body Setting |
Enable the Send in Body parameter option
|
Authorize Endpoint: |
https://accounts.google.com/o/oauth2/auth |
Access Token Endpoint: |
https://www.googleapis.com/oauth2/v4/token |
Get User Info Endpoint: |
https://www.googleapis.com/oauth2/v1/userinfo |
- Click on Save button and then Test Configuration. You will get the page restriction script, Keep the script handy in case you need to restrict your HubSpot page manually.
- After successful login, you will see all the values returned by your Google to HubSpot in a table.
3. Restrict public access to HubSpot website/ pages/ content (Landing Page or Blog)
Restricting access to your HubSpot website can help to protect your pages from unauthorized access. By restricting access, you can ensure that only authorized users can view and interact with your pages. This can be useful for protecting sensitive information. This will allow you to restrict access to your HubSpot pages / content as visitors will be needed to login first and then they will be able to access the HubSpot page. This will also help you to track your vistors and also generate potential leads.
- Go to Page Restriction tab, and here you will see your HubSpot pages.
- Select the checkbox next to the page you wish to protect from unauthorized users and click Save to save the information.
- Once you go to the page URL that you restricted, you will see the following screen and required to put in Login Credentials of your Identity Provider.
- Fill in the login credentials and click Login, you will be redirected to the website page successfully.
- Go to you HubSpot dashboard and Click on CMS HUB Free -> Marketing ->Website and choose Webiste Page or Blog. We have chosen Website Pages for this tutorial.
- Select the page on which you want to enable (Forced Authentication or SSO) and click the Edit button. Here we have seleceted and HomePage.
- Goto Settings tab and scroll down to Advanced Settings. Copy the script that you see in Step 2 and paste it inside the HTML section of Advanced Settings and click Publish button.
- Now, if you go to the page in which you included the script, you will see the following screen and required to put in Login Credentials of your Identity Provider.
- Fill in the login credentials and click Login, you will be redirected to the website page successfully.
Congratulations! You have successfully integrated Google with HubSpot to enable Google users to see your HubSpot content.
4. Track your visitors (Contact Sync)
- After a user logs in through the Single Sign-On feature, a contact will be created which includes his details that are received from the (Identity Provider) for the particular user.
- If you would like to sync the contact details, go to the Contact Sync tab and ensure the Enable Sync option has been enabled. Then map the Attribute Names from the OAuth provider.
- This can be very useful for generating leads, as it allows you to quickly and easily add new contacts to your HubSpot marketing and sales pipelines. By using contact sync, you can ensure that your HubSpot account is always up-to-date with the latest information about your leads and customers (site visitors), which can help you to more effectively target your marketing efforts and generate more qualified leads.
Troubleshooting / FAQs
I get the following: {"status":"failed","message":"Error in fetching the token from the OAuth provider."}
- Make sure you have checked one or both of the following checkboxes in the “HubSpot App configuration” setting.
- If your IdP needs the credentials in the header, you will need to check the Header checkbox.
- Save the configuration and then click test configuration.
- If this does not solve your problem, you can try selecting both the Header and Body checkboxes.
- Likewise, if your IdP needs the credentials in the body, you have to select the Body checkbox.
- Once you have checked the appropriate checkboxes, you will get the attributes table in the test configuration window.
My test configuration was successful but when I try to log in I am stuck in a redirect loop.
There are a couple of reasons why this can happen:
1. Caching is enabled on the website.
When auto-redirect is enabled, the user is redirected to IDP login page and after logging in back to the main site but as caching is enables it redirects to the IDP login page hence a loop.
2. HTTP/HTTPS discrepancy:
This happens when HTTPS is not enforced on the site but is configured on IDP side with HTTPS URL.This can be solved by enforcing HTTPS on the site by defining a redirect rule in the .htaccess file or at the Apache level.
3. Cookie adulteration:
The cookie created by the plugin after logging in the user is altered by another plugin which causes the user to not log in WordPress site but the session is created on IDP.
Getting Error : ‘Invalid Response’
There can be 2 possibilities:
- Either your App supports OAuth 2.0 protocol and you’ve configured with OpenID Connect protocol and vice-versa. In this case, if you’ve configured the App using Custom OAuth2.0 App, reconfigure it with Custom OpenID Connect App and if you’ve configured the App using Custom OpenID Connect App, reconfigure it with Custom OAuth 2.0 App. It should fix this issue for you.
- If the above solution doesn’t work then the other possibility is your app/provider doesn’t follow the standard OAuth 2.0/ OpenID Connect protocol. In this case, get in touch with hubspotsupport@xecurify.com with your app/provider request/response format documentation and technician will get back to you with a solution.
I am getting the error message "Invalid response received"
To fix this issue, please configure the correct Token and User info endpoint in the HubSpot SSO application endpoint table. You can confirm the correct format of the endponit from HERE.
Additional Resources
Need Help?
Mail us on hubspotsupport@xecurify.com for quick guidance(via email/meeting) on your requirement and our team will help you to select the best suitable solution/plan as per your requirement.