Company Level Authentication
Company is a top-level principal within the Turium Enigma platform and you would be able to obtain an access token and a refresh token on a Company’s behalf just like you would be able to with a User. Only one authorization flow is currently available for obtaining tokens for a Company, which is the Password grant using a temporary auth token received.
Obtaining an auth token
To begin the authentication flow for a company, one must first obtain a temporary auth token through administrator.
Auth tokens are valid only for 24 hours. 24 hours to exchange the auth token for a refresh and access token, and can use this auth token multiple times within the 24 hours in case of network failure.
Redirects User to Client’s auth handler URI (Connect URL) and passing in the authToken
At this point, the user should be prompted to sign in to your application. If the user doesn’t not have account, the user should have the ability to create one. For applications that have user read scope, the User UUID can be used to pre-populate the account creation forms.
Client app calls Oauth2 password grant to get an access token for the company
client_id
string
UIID
Applications client_id supplied by App Management
client_secret
string
UUID
Applications client_secret supplied by App Management
grant_type
string
-
Specify which grant type you expect the oauth2 service to process. For password grant, the value is password
username
string
-
specify the companyId
to be used in the password grant request. The id
above.
password
string
-
specify the authToken
to be used in the password grant request. The requestToken
above.
credtype
string
-
The credtype signifies to oauth2 which credential set is being submitted in the request. The value: authtoken
.
Example
Request
Response
Success
Failure
Response Codes
HTTP Status Code returned by oauth2
200
OK - Successful call, response is in body.
400
Bad Request (error, error_description, code)
401
Unauthorized (error, error_description, code)
403
Forbidden (error, error_description, code)
404
Not Found (error, error_description, code)
500
Server Error, error message is in body.
503
Server Timed Out, error message is in body.
4xx class errors have a JSON response with the following fields
/token
5
invalid_grant
Incorrect credentials. Please Retry
10
invalid_grant
Account is disabled. Please contact support
11
invalid_grant
Account is disabled. Please contact support
12
invalid_grant
Logon Denied. Please contact support
13
invalid_grant
Logon Denied. Please contact support
14
invalid_grant
Account Locked. Please contact support
16
invalid_request
user lives elsewhere
19
invalid_grant
Incorrect credentials. Please Retry
20
invalid_grant
Logon Denied. Please contact support (typically due to IP restriction)
51
invalid_request
username was not supplied
52
invalid_request
password was not supplied
53
invalid_client
company is not enabled for this client
54
invalid_scope
requested scope exceeds granted scope
55
invalid_request
we don’t know this email
56
invalid_request
otp
was not supplied
57
invalid_request
channel_type
missing
58
invalid_request
channel_handle
missing
59
access_denied
client disabled
60
invalid_grant
these are not the grants you are looking for
61
invalid_client
client not found
62
invalid_request
client_id
was not supplied
63
invalid_request
client_secret
was not supplied
64
invalid_client
Incorrect credentials. Please Retry
65
invalid_request
grant_type
was not supplied
80
invalid_request
invalid channel type
81
invalid_request
bad channel handle
83
invalid_request
otp not found
84
invalid_request
fact verification failed
85
invalid_request
otp verification failed
100
invalid_request
backend does not know about this username
101
invalid_request
code was not supplied
102
invalid_request
redirect_uri
was not supplied
103
invalid_request
code is bad or expired
104
invalid_grant
redirect_uri
does not match the previous grant
105
invalid_grant
this grant was not issued to you!
106
invalid_request
refresh_token
was not supplied
107
invalid_request
refresh disallowed for app
108
invalid_grant
bad or expired refresh token
109
invalid_request
loginid
was not supplied
115
invalid_request
unauthenticated client will not be issued token!
117
invalid_request
nonce is mandatory for this response_type
118
invalid_request
display is invalid
119
invalid_request
prompt is invalid
119
invalid_request
prompt must be set to consent for offline_access
120
invalid_request
credtype
is invalid
121
invalid_request
login_type
is invalid
122
invalid_request
proxies supplied are invalid
123
invalid_request
principal is disabled
134
invalid_request
Company undergoing scheduled maintenance.
Last updated