How to sent authorized header attribute value using c# .net httpclient for third party api call of oauth 2.0

How to sent authorized header attribute value using C# .NET HTTP client for third party API call of OAuth 2.0

For call token From Authorized Header we use following code


using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Web;
using RestSharp;
using System.Security.Authentication;
using CustomProject.DataEntity.ExtendedEntities;
using System.Web.Script.Serialization;

namespace CustomProject.Api
{

    public class CustomProjectToken
    {

                string Client_id = System.Configuration.ConfigurationManager.AppSettings["Client_id"];
                string Client_secret = System.Configuration.ConfigurationManager.AppSettings["Client_secret"];
                string Grant_type = System.Configuration.ConfigurationManager.AppSettings["Grant_type"];
                string BaseUrl = System.Configuration.ConfigurationManager.AppSettings["BaseUrl"];
                string TokenUrl = System.Configuration.ConfigurationManager.AppSettings["TokenUrl"];
                public static string Token = "";
                public async System.Threading.Tasks.Task<TokenResponse> getTokenAsync()
                {
                 var handler = new HttpClientHandler();
                    handler.ServerCertificateCustomValidationCallback = 
                    (requestMessagecertificatechainpolicyErrors) => true;
                    using (var httpClient = new HttpClient(handler))
                    {
                  using (var request = new HttpRequestMessage(new HttpMethod("POST"),
                         BaseUrl + TokenUrl))
                    {
                var base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes
               (Client_id + ":" + Client_secret));
               
               request.Headers.TryAddWithoutValidation("Authorization"$"Basic 
               {base64authorization}");
               
               request.Content = new StringContent("grant_type=" + Grant_type);
                 
               request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse
               ("application/x-www-form-urlencoded");
                   
                ServicePointManager.Expect100Continue = true;
               
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
               
                var response = await httpClient.SendAsync(request);
               
                var payload = JsonConvert.DeserializeObject<TokenResponse>
               (await response.Content.ReadAsStringAsync());
               
               Token = payload.access_token;
               return payload;
                        }
                    }
                }
            }
        }




models:-
public class TokenResponse { public string access_token { set; get; } public string token_type { set; get; } public string expires_in { set; get; } }







Featured Post

How To Dynamic Upload multiple files with extra detail of model in asp.net core

 How To Dynamic Upload multiple files with extra detail of model in asp.net core  1). firstly create Model File  namespace MyModel {     pub...

Popular Posts