Share all details about your problem, including any error messages you may have received.
Hi all,
I have a Web Service Connector application which I want to implement OAuth2 as Authentication. Would like to check because the authentication will return an API token and it is to be used as Authorisation, do I need to specify it in my operations (highlighted in yelow)? Or SailPoint will by default read this value?
In IdentityIQ’s Web Service Connector, when you pick Authentication Method = OAuth2 and fill in the token URL / client id / client secret (Client Credentials flow), IIQ will:
Call the token endpoint,
Cache the access_token until expiry,
Automatically injectAuthorization: Bearer <access_token> on every request (including /health and all operations).
So you only need headers like Content-Type. If you also add your own Authorization header in the operation it can conflict or be duplicated—leave it blank.
Only handle it yourself if the target API expects the token somewhere other than the standard Authorization: Bearer … (e.g., a custom header or query param). In that rare case you’d keep OAuth2 for token retrieval and move/copy the token in a Before Operation rule; otherwise the default behavior is sufficient.
The OAuth2 token returns a refresh_token does it need to be persisted? Because intermittently we are getting an error saying that the refresh_token is empty. Does SailPoint automatically know when the refresh_token is expired and perform the necessary?
Below is an example of how the response after calling the authentication looks like:
I am currently getting this error Exception during aggregation of Object Type Group on Application *****. Reason: java.lang.RuntimeException: sailpoint.connector.ConnectorException: Error: Refresh Token cannot be empty.
I think it is due to the refresh_token not persisting how do I make it persist?
Is the response from a rest client (like postman)? if yes would you be able to check the body that’s being sent for the token generation?
There will be an entry in the application xml (in debug) called “oauthTokenInfo” (in encrypted format) which contains the whole response that’s received during the token generation.
access_token and refresh_token are stored in accesstoken & refresh_token attributes respectively in the application.
I still believe that oauth flow is not client credentials as the auth server is responding with a refresh token. Please check the API documentation and confirm the flow.
Hi @BhuvaneshGeddam , if I require refresh_token which is a dynamic returned value during access token generation, how should I set it up in SailPoint?