In this blog we will cover how to use helical insight with ADFS SSO option.

Prerequisite:

  1. HI-EE 4.1.18666 or higher must be installed
  2. ADFS should be running

Steps

1. Save your federationmetadata.xml file on the below path “..hi\apache-tomcat-9\hi-ee\WEB-INF\classes\”

It can be downloaded from online based on your ADFS domain
https://< your hostname >/FederationMetadata/2007-06/FederationMetadata.xml

2. Generate a keystore file say local_cert.jks and save on the below path “..hi\apache-tomcat-9\hi-ee\WEB-INF\classes\”

3. Go to below path and you can find spring-security.xml file “..hi\apache-tomcat-9\hi-ee\WEB-INF\classes\”
Open this file and make changes as per the steps mentioned below

a. Go to Line no:75 uncomment below tag:
< authentication-provider ref="samlAuthenticationProvider" />

b. Go to Line no:92 and replace “loginUrlAuthenticationEntryPoint” with “samlEntryPoint”

c. Go to Line no: 283 and comment below tag:
< custom-filter before="BASIC_AUTH_FILTER" ref="authenticationTokenFilterBean" />

d. Go to Line no: 285 and uncomment below tag:
< custom-filter before="FIRST" ref="metadataGeneratorFilter" />

e. Go to Line no: 288 and comment below tag:
< custom-filter before="CAS_FILTER" ref="authenticationProcessingFilter" />

f. Go to Line no: 290 and uncomment below tag:
< custom-filter before="CAS_FILTER" ref="samlProcessingFilter" />

g. Go to Line no: 294 and comment below tag:
< custom-filter position="CAS_FILTER" ref="casFilter" />

h. Go to Line no: 296 and uncomment below tag:
< custom-filter position="CAS_FILTER" ref="samlProcessingFilter" />

i. Go to Line no: 299 and uncomment below tag:
< custom-filter after="BASIC_AUTH_FILTER" ref="samlFilter"/>

j. Go to Line no between 439 and 657 and uncomment SAML config.

k. if your jks file name is different then change the line no 480 for the below tag (local_cert.jks)
< beans:constructor-arg value="classpath:local_cert.jks” />

l. change the below tag line no 481 and provide your password for jks file instead of password! for attribute value
< beans:constructor-arg type="java.lang.String" value="passw0rd!” />

m. Go to line number 484, change the key value (put your alias name for the jks file) and also change the password for the attribute value
< beans:entry key="te-a7af2af5-a35e-45cd-acad-df9f46da7ea0” value=”passw0rd!” />

n. change the below tag at line no 487
< beans:constructor-arg type="java.lang.String" value="te-a7af2af5-a35e-45cd-acad-df9f46da7ea0” />
change the value (put your alias name of the jks file)

o. If your federationmetadata.xml file is named different then you must change the name in line no 523

4. Make sure you have the https enabled in the “..tomcat-9\hi-ee\WEB-INF\classes\”

5. Once the above changes are done then restart the HelicalInsight service

Creating xml for party trust

1. Go to admin panel and click ADFS management

2. Click on the “Generate new service provider metadata” button

3. It will go to a screen with metadata configuration.

4. You can set the values as per the adfs

The information can be obtained from https://docs.spring.io/spring-security-saml/docs/current/reference/html/configuration-metadata.html

5. Download the file created on the previous step and the place it into the location
“..hi\apache-tomcat-9\hi-ee\WEB-INF\classes\”

Modify the spring-security.xml (whose path is “..hi\apache-tomcat-9\hi-ee\WEB-INF\classes\”) and search for
< beans:bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate" >

Below we are providing a code, copy this code and add it into the file generated at step no 5.

< beans:constructor-arg >
< beans:bean class="org.opensaml.saml2.metadata.provider.ResourceBackedMetadataProvider" >
< beans:constructor-arg >
< beans:bean class="java.util.Timer" />
< /beans:constructor-arg >
< beans:constructor-arg >
< beans:bean class="org.opensaml.util.resource.ClasspathResource" >
< beans:constructor-arg value="/YOUR_MEDATA_FILE.xml" />
< /beans:bean >
< /beans:constructor-arg >
< beans:property name="parserPool" ref="parserPool" />
< /beans:bean >
< /beans:constructor-arg >

To add the IdM service as a trusted relying party to ADFS, follow these steps:

In the ADFS 3.0 Management Console, right-click Trust Relationships and then select Add Relying Party Trust.

ADFS Configuration With Helical Insight

Select Import data about the relying party from a file, and then select the IdM metadata file (metadata.xml) that you created previously at step 6. Click Next.

ADFS Configuration With Helical Insight

The wizard may display a warning, indicating that some content of the metadata is not supported. You can safely ignore this warning.

Click OK to ignore the warning.

ADFS Configuration With Helical Insight

Specify a display name for the IdM service, and add optional notes. Click Next.

ADFS Configuration With Helical Insight

Make sure the “I do not want to configure multi-factor authentication setting for this relying party trust at this time” option is selected, and then click Next.

ADFS Configuration With Helical Insight

Select the Permit all users to access this relying party issuance authorization rule.

ADFS Configuration With Helical Insight

You are now in the Ready to Add Trust step. Check that the Endpoints tab contains multiple endpoint values. If not, verify that your metadata was generated with https protocol URLs.

ADFS Configuration With Helical Insight

Open the provider by double-clicking it, select tab Advanced and change “Secure hash algorithm” to SHA-1

ADFS Configuration With Helical Insight

Leave the Open the Edit Claim Rules dialog checkbox selected, and click Close to close the wizard.

ADFS Configuration With Helical Insight

The Add Transform Claim Rule wizard opens. Perform the steps below to configure the NameID element as part of the Subject in the SAML Response message.

Select Add Rule, and then select Send LDAP Attributes as Claims. Click Next.

ADFS Configuration With Helical Insight

*Note*

Please map the key with the “samKeys.properties”

Restart the HeicalInsight and you can see the login screen of Helical Insight to use
“Login With Saml” link
You can then use the same with ADFS configuration.

Helical Insight’s self-service capabilities is one to reckon with. It allows you to simply drag and drop columns, add filters, apply aggregate functions if required, and create reports and dashboards on the fly. For advanced users, the self-service component has ability to add javascript, HTML, HTML5, CSS, CSS3 and AJAX. These customizations allow you to create dynamic reports and dashboards. You can also add new charts inside the self-service component, add new kind of aggregate functions and customize it using our APIs.
Helical Insight’s self-service capabilities is one to reckon with. It allows you to simply drag and drop columns, add filters, apply aggregate functions if required, and create reports and dashboards on the fly. For advanced users, the self-service component has ability to add javascript, HTML, HTML5, CSS, CSS3 and AJAX. These customizations allow you to create dynamic reports and dashboards. You can also add new charts inside the self-service component, add new kind of aggregate functions and customize it using our APIs.
Helical Insight, via simple browser based interface of Canned Reporting module, also allows to create pixel perfect printer friendly document kind of reports also like Invoice, P&L Statement, Balance sheet etc.
Helical Insight, via simple browser based interface of Canned Reporting module, also allows to create pixel perfect printer friendly document kind of reports also like Invoice, P&L Statement, Balance sheet etc.
If you have a product, built on any platform like Dot Net or Java or PHP or Ruby, you can easily embed Helical Insight within it using iFrames or webservices, for quick value add through instant visualization of data.
If you have a product, built on any platform like Dot Net or Java or PHP or Ruby, you can easily embed Helical Insight within it using iFrames or webservices, for quick value add through instant visualization of data.
Being a 100% browser-based BI tool, you can connect with your database and analyse across any location and device. There is no need to download or install heavy memory-consuming developer tools – All you need is a Browser application! We are battle-tested on most of the commonly used browsers.
Being a 100% browser-based BI tool, you can connect with your database and analyse across any location and device. There is no need to download or install heavy memory-consuming developer tools – All you need is a Browser application! We are battle-tested on most of the commonly used browsers.
We have organization level security where the Superadmin can create, delete and modify roles. Dashboards and reports can be added to that organization. This ensures multitenancy.
We have organization level security where the Superadmin can create, delete and modify roles. Dashboards and reports can be added to that organization. This ensures multitenancy.
We have organization level security where the Superadmin can create, delete and modify roles. Dashboards and reports can be added to that organization. This ensures multitenancy.
We have organization level security where the Superadmin can create, delete and modify roles. Dashboards and reports can be added to that organization. This ensures multitenancy.
A first-of-its-kind Open-Source BI framework, Helical Insight is completely API-driven. This allows you to add functionalities, including but not limited to adding a new exporting type, new datasource type, core functionality expansion, new charting in adhoc etc., at any place whenever you wish, using your own in-house developers.
A first-of-its-kind Open-Source BI framework, Helical Insight is completely API-driven. This allows you to add functionalities, including but not limited to adding a new exporting type, new datasource type, core functionality expansion, new charting in adhoc etc., at any place whenever you wish, using your own in-house developers.
It handles huge volumes of data effectively. Caching, Pagination, Load-Balancing and In-Memory not only provides you with amazing experience, but also and does not burden the database server more than required. Further effective use of computing power gives best performance and complex calculations even on the big data even with smaller machines for your personal use. Filtering, Sorting, Cube Analysis, Inter Panel Communication on the dashboards all at lightning speed. Thereby, making best open-source Business Intelligence solution in the market.
It handles huge volumes of data effectively. Caching, Pagination, Load-Balancing and In-Memory not only provides you with amazing experience, but also and does not burden the database server more than required. Further effective use of computing power gives best performance and complex calculations even on the big data even with smaller machines for your personal use. Filtering, Sorting, Cube Analysis, Inter Panel Communication on the dashboards all at lightning speed. Thereby, making best open-source Business Intelligence solution in the market.
With advance NLP algorithm, business users simply ask questions like, “show me sales of last quarter”, “average monthly sales of my products”. Let the application give the power to users without knowledge of query language or underlying data architecture
With advance NLP algorithm, business users simply ask questions like, “show me sales of last quarter”, “average monthly sales of my products”. Let the application give the power to users without knowledge of query language or underlying data architecture
Our application is compatible with almost all databases, be it RDBMS, or columnar database, or even flat files like spreadsheets or csv files. You can even connect to your own custom database via JDBC connection. Further, our database connection can be switched dynamically based on logged in users or its organization or other parameters. So, all your clients can use the same reports and dashboards without worrying about any data security breech.
Our application is compatible with almost all databases, be it RDBMS, or columnar database, or even flat files like spreadsheets or csv files. You can even connect to your own custom database via JDBC connection. Further, our database connection can be switched dynamically based on logged in users or its organization or other parameters. So, all your clients can use the same reports and dashboards without worrying about any data security breech.
Our application can be installed on an in-house server where you have full control of your data and its security. Or on cloud where it is accessible to larger audience without overheads and maintenance of the servers. One solution that works for all.
Our application can be installed on an in-house server where you have full control of your data and its security. Or on cloud where it is accessible to larger audience without overheads and maintenance of the servers. One solution that works for all.
Different companies have different business processes that the existing BI tools do not encompass. Helical Insight permits you to design your own workflows and specify what functional module of BI gets triggered
Different companies have different business processes that the existing BI tools do not encompass. Helical Insight permits you to design your own workflows and specify what functional module of BI gets triggered