/
Link REST API Authentication Example

Link REST API Authentication Example

Example of C# code how to authenticate using a webclient.

 

the oAuth2Url is <Hostname>/identity/connect/token

and what you get back are the follow values:

access_token: the access token required for calling the api

expires_in: how long the token last.

token_type: type is bearer

refresh_token: token used to reauthenticate, will be shown later.

 

string credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(_ClientId + ":" + _ClientSecret)); string urlEncodeScope = HttpUtility.UrlEncode(_ApiScope); string body = "grant_type=password&username=" + _UserName + "&password=" + _Password + "&scope=" + urlEncodeScope; WebClient wbclient = new WebClient(); wbclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); wbclient.Headers.Add("Authorization", "Basic " + credentials); wbclient.Headers.Add("Cache-Control", "no-cache"); var wbresponse = wbclient.UploadString(oAuth2Url, body); dynamic obj = JsonConvert.DeserializeObject<dynamic>(wbresponse); _Token = obj.access_token; _ExpireTime = obj.expires_in; _TokenType = obj.token_type; _RefreshToken = obj.refresh_token; this._TokenRefreshTime = DateTime.UtcNow.AddMinutes((_ExpireTime));

 

 

If your token expires, you need to reauthenticate using the refresh token, the main difference is in the grant type is now reresh_token, so you dont have to send username and password multiple times

 

string credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(_ClientId + ":" + _ClientSecret)); string body = "grant_type=refresh_token&refresh_token=" + _RefreshToken + "&client_id=" + _ClientId + "&client_secret=" + _ClientSecret; WebClient wbclient = new WebClient(); wbclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); wbclient.Headers.Add("Authorization", "Basic " + credentials); wbclient.Headers.Add("Cache-Control", "no-cache"); var wbresponse = wbclient.UploadString(oAuth2Url, body); dynamic obj = JsonConvert.DeserializeObject<dynamic>(wbresponse); _Token = obj.access_token; _ExpireTime = obj.expires_in; _TokenType = obj.token_type; _RefreshToken = obj.refresh_token; this._TokenRefreshTime = DateTime.UtcNow.AddMinutes((_ExpireTime));

Related content

Postman Example
Postman Example
Read with this
Link REST API Authentication Example
Link REST API Authentication Example
More like this
Certificate REST API
Certificate REST API
Read with this
Link REST API Authentication Example
Link REST API Authentication Example
More like this
Playbook: Rest API creation
Playbook: Rest API creation
More like this
Authorization
Authorization
More like this

The information on this page is based on Link 2.11