I have created one Web API on SAML enabled environment (consider as Dev) and want to call it from other environment (consider as Test).
On Test I have created integration to call API in which I am using connected system,in authentication I have used basic authentication and provided user credentials who is part SAML group on Dev.
When that user is part of SAML Group integration is throwing an error and when I am removing user from SAML group it's working fine.
Can anyone suggest how to use SAML user credentials to call API?
Thanks in Advance
Discussion posts and replies are publicly visible
Can you describe your use case for this? Why would you need to use an integration call from one environment to call a Web API in another Appian environment? If your plan is that your Web API will be called by a system external to Appian, it is better to test using that system and not from one Appian environment to another.
That being said, if you do plan on using an external system, I'd suggest these 2 ways you can authenticate:
1) Use session based authentication: https://docs.appian.com/suite/help/latest/Web_API_Authentication.html#session-based-authentication. If your session is already established, you shouldn't need to provide credentials.
2) Use an API key and service account: https://docs.appian.com/suite/help/latest/Web_API_Authentication.html#api-key-authentication
Hi priyankag0001,
Calling a web api there are the following methods of authentication possible:
There are three ways to authenticate users when calling a web API:
If you wish to invoke an Appian Web API from another system, you must use either API key or basic authentication
This is an excerpt of the documentation, can be found here: https://docs.appian.com/suite/help/19.2/Web_API_Authentication.html
Hope that helps.
I should have kept reading in the docs :) I stand corrected, it doesn't look like you can use session-based authentication for external systems. As mentioned by the commenter below, here's the relevant part in the docs: If you wish to invoke an Appian Web API from another system, you must use either API key or basic authentication.
So it looks to me like your best bet is to use an API key, that way you don't have to pass credentials or worry about what the basic authentication credentials are for that user.
Hi guys,
Thanks for your response, but it's not working with API Key, I have created service account and given viewers right to web API.
and currently my requirement is to call this API from another Appian environment only not from any other system.
What error are you getting?
Some things to check:
Thanks Peter. It's worked. I had not added service account into the security group of datastore.