Qlik Community

Ask a Question

Integration, Extension & APIs

Discussion board where members can learn more about Integration, Extensions and API’s for Qlik Sense.

Announcements
LINKEDIN LIVE: Democratizing data to enhance customer-centricity. JULY 29TH REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
Databayo
Contributor II
Contributor II

HTTP protocol error 401 (Unauthorized): 'NetAppBasic' authentication schema provided by the web-service is not supported or your credentials are not v

Hi Everyone,

I'm getting the following error when attempting to connect to NetApp's Active IQ Unified Manager API:

1 - Copy.png

It's just a simple GET request with Basic Authentication Schema, no query parameters, no query headers.

The issue is, I've tried the exact same connection using Postman and it works no problems.

I've tripled checked my authentication credentials, tried with and without the domain prefix, and I continue to get this error.

Any idea what could be causing it and how to resolve it? My suspicion is that the authentication schema is not supported by Qlik, but the API documentation definitely stated it is Basic Authentication. 

I'm using Qlik Sense June 2017.

Labels (4)
1 Solution

Accepted Solutions
Databayo
Contributor II
Contributor II
Author

Hi Damien,

Thank you for your response. I've just tried a more recent version of Qlik Sense (Feb 2021) and still get the same issues.

Your message about the Base64-encoded hinted me in the right direction though. NetApp Active IQ uses basic authentication which requires a Base64 encoded value (not just the username and password in clear text).

My solution was to take my username and password and manual encode it into Base64 then add that to the Query Header and it worked.

Example (not the actual username and password obviously):

Username = username1

Password = password1

In basic HTTP authentication, a request contains a header field in the form of "Authorization: Basic <credentials>", where credentials is the Base64 encoding of ID and password joined by a single colon ":".

So I took "username1:password1" and put it into an online Base64 encoder to get: "dXNlcm5hbWUxOnBhc3N3b3JkMQ=="

Then in my REST data connection I entered a Query Header with Name "Authorization" and Value "Basic dXNlcm5hbWUxOnBhc3N3b3JkMQ==" and bingo bango it worked.

View solution in original post

2 Replies
Damien_Villaret
Support
Support

Hello @Databayo 

Your version of Qlik Sense is quite old, did you try a more recent version of Qlik Sense to see if you have the same issue ?

I am unsure if that also applied to your version but the help site states:

 

Sends a Base64-encoded string with a user name and password for the client. Base64 is not a form of encryption. It is the same as sending the user name and password in clear text.

https://help.qlik.com/en-US/connectors/Subsystems/REST_connector_help/Content/Connectors_REST/Create...

Is your API expecting to receive the credentials encoded in base64 ?

Databayo
Contributor II
Contributor II
Author

Hi Damien,

Thank you for your response. I've just tried a more recent version of Qlik Sense (Feb 2021) and still get the same issues.

Your message about the Base64-encoded hinted me in the right direction though. NetApp Active IQ uses basic authentication which requires a Base64 encoded value (not just the username and password in clear text).

My solution was to take my username and password and manual encode it into Base64 then add that to the Query Header and it worked.

Example (not the actual username and password obviously):

Username = username1

Password = password1

In basic HTTP authentication, a request contains a header field in the form of "Authorization: Basic <credentials>", where credentials is the Base64 encoding of ID and password joined by a single colon ":".

So I took "username1:password1" and put it into an online Base64 encoder to get: "dXNlcm5hbWUxOnBhc3N3b3JkMQ=="

Then in my REST data connection I entered a Query Header with Name "Authorization" and Value "Basic dXNlcm5hbWUxOnBhc3N3b3JkMQ==" and bingo bango it worked.

View solution in original post