Saturday, May 29, 2021

oAuth2 token using in RestSharp

 

public void api()

{

    string token = "";

 

    try {

        callApi(token);

    }

    catch(Exception)

    {

        var client = new RestClient("www.example.com/api/token");

        var request = new RestRequest(Method.POST);

        request.AddHeader("content-type", "application/x-www-form-urlencoded");

        request.AddHeader("cache-control", "no-cache");

        request.AddParameter("application/x-www-form-urlencoded", "grant_type=password&username=us&password=pas", ParameterType.RequestBody);

        IRestResponse response = client.Execute(request);

 

        dynamic resp = JObject.Parse(response.Content);

        token = resp.access_token;

 

        callApi(token);

    }

}     

 

public void callApi(string token)

{

    var client = new RestClient("www.example.com/api/data");

    var request = new RestRequest(Method.GET);

    request.AddHeader("cache-control", "no-cache");

    request.AddHeader("authorization", "Bearer " + token);

    request.AddHeader("accept", "application/json; charset=utf-8");

    IRestResponse response = client.Execute(request);

}

=============

How to get a token :


var apiKey = "api_key";
var apiPassword = "api_password";
 
//create RestSharp client and POST request object
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
 
//add GetToken() API method parameters
request.Parameters.Clear();
request.AddParameter("grant_type", "password");
request.AddParameter("username", apiKey);
request.AddParameter("password", apiPassword);
 
//make the API request and get the response
IRestResponse response = client.Execute(request);
 
//return an AccessToken

return JsonConvert.DeserializeObject(response.Content);


ref : https://mfcallahan.blog/2017/07/30/making-a-post-request-to-an-oauth2-secured-api-using-restsharp/

No comments:

Post a Comment