View Only

Using REST API in a Self-Hosted SAML Environment

By Jason Ritz posted 12-21-2018 13:27


From 8.62 onwards, instances with SAML authentication can also use OAuth in the Jama Connect REST API for scripts and integrations. Please see this link for more information: Dev Jama Software - API Auth

Starting with Jama Connect 8.31, SAML is now available to our Self-Hosted customers. One of the limitations of SAML when running Self-Hosted Jama is that it breaks the ability for REST API users and scripts to authenticate with Jama. This is because REST API calls bypass SAML and use Jama’s authentication -- however, when SAML is enabled in an environment, all passwords that Jama maintains for a user that logs in via SAML are removed. This makes it impossible for a SAML user to authenticate to the API.

The good news is that we do have a workaround for Self-Hosted customers who would like to use SAML for their users' authentication. Simply add a single user that will only be used to make API calls and do not enable SAML for that user. Below are the steps to take to accomplish this:

1. Make Sure That the API is Enabled

Log into Jama using the root user and go to system properties->General Properties. Click on “edit” in the upper right and make sure the “Allow access to REST API” box is checked.

Click “save” in the upper right and log out of Jama.

2. Use Swagger to Create a New API-only User

Log into Jama and navigate to Swagger. This can be done by changing the URL to: <BaseURL>/api-docs/
At the bottom of the page expand the users tab by clicking on "users" then click on "Expand Operations" to display the available API calls.


Select “Create new user”.


a) Click in the example view field on the right to populate the body field on the left
b) Fill out the body field with the information for the API user. Note: you will not be able to reset the password for this user through the API after creation.
c) Select “Try it now”


This creates a user that does not have SAML enabled and can use Basic Auth to authenticate with the REST API. Use this user account to interact with the REST API.

More information on the REST API can be found here.