GetBearerToken ION API method

This ION API method retrieves a bearer token using SSO. It also exchanges the Mingle session for an OAuth token. This method includes a retry logic when token retrieval fails. It retries once on failure, and the error details includes the SeverID, SSO flag, token value, and the message.

Example

Parameter pattern:
  • 0 ServerID
  • 1 UseSSO TOKEN (out)
  • 3 MESSAGE (out)

Return:

response Parameters[2]

private string getToken() {
            InvokeRequestData IDORequest = new InvokeRequestData();
            IDORequest.IDOName = "IONAPIMethods";
            IDORequest.MethodName = "GetBearerToken";
            IDORequest.Parameters.Add(serverId); // ServerID
            IDORequest.Parameters.Add(sso); // UseSSO
            IDORequest.Parameters.Add(IDONull.Value); //TOKEN
            IDORequest.Parameters.Add(IDONull.Value); //MESSAGE
 
            InvokeResponseData response = null;
            try {
                response = Context.Commands.Invoke(IDORequest);
 
                if (response.IsReturnValueStdError()) {
                    throw new Exception("getToken returned StdError");
                }
            } catch (Exception e) {
                try {
                    LogMessage("Failed to getToken\n" + e.Message + "\nReattempting to getToken");
                    response = Context.Commands.Invoke(IDORequest);
                } catch (Exception e2) {
                    throw new Exception("Error: " + IDORequest.MethodName + "\nSSO: " + sso + "\nServerId: " + serverId + "\nToken: " + response.Parameters[2].Value + "\nMessage: " + response.Parameters[3].Value + "\n" + e.Message);
                }
            }
 
            return response.Parameters[2].Value;
        }