/
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));
, multiple selections available,
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