public ActionResult AllowonlyforAuthorize()
{
var baseurl = string.Empty;
baseurl = "http://localhost:59233/";
Dictionary tokendetails = null;
HttpClient objclient = new HttpClient();
objclient.BaseAddress= new Uri(baseurl); //THIS IS AUTHENTICATION SERVER FOR EG:-IN INDIA,JAPAN,US,UK,CHINA.
// SO I need TO GET TOKEN FROM THEM
//for that I NEED TO PASS USERNAME,PASSWORD AND GRANTTYPE AS PARAMETER TO AUTHORIZATION SERVER.
var logincredentials = new Dictionary
{
{"username","admin" },
{"password","admin" },
{"grant_type","password"}
};
var response = objclient.PostAsync("token", new FormUrlEncodedContent(logincredentials)).Result;
//IF PROPER TOKEN IS RECEIVED THEN ISSUCCESSSTATUSCODE returns TRUE
if(response.IsSuccessStatusCode)
{
//HERE YOU ARE READING THE RESPONSE AND DESERIALIZE TO OBJECT AND STORE IT IN DICTIONARY
tokendetails = JsonConvert.DeserializeObject>(response.Content.ReadAsStringAsync().Result);
if (tokendetails !=null && tokendetails.Any())
{
var tokenno = tokendetails.FirstOrDefault().Value;
//Authorization header is passed with bearer token to AUTHORIZATION SERVER
objclient.DefaultRequestHeaders.Add("Authorization", "Bearer " + tokenno);
var postsyncresult = objclient.GetAsync(baseurl + "api/sampleAPIdata/onlyforauthenticateusers");
var finalresult = postsyncresult.Result.Content.ReadAsStringAsync().Result;
ViewBag.displayonlyforauthorizedusers = finalresult;
return View("allowonlyforauthorize");
}
}
return View("Index");
}