protected virtual async Task <TokenResponse> GetToken() { var restFactory = new RestClientFactory(); var restClient = restFactory.CreateClient(_authorityDetails.ClientUrl); var authRequest = restFactory.CreateRequest("token", Method.POST); authRequest.AddHeader("Content-Type", "application/x-www-form-urlencoded"); authRequest.AddHeader("Accept", "application/json"); authRequest.AddParameter("grant_type", "client_credentials"); authRequest.AddParameter("resource", _authorityDetails.ResourceUrl); restClient.Authenticator = new HttpBasicAuthenticator(_authorityDetails.ClientId, _authorityDetails.ClientSecret); var response = await restClient.ExecuteAsync <TokenResponse>(authRequest); var token = response?.Data; return(token); }