From 2474eb199a2ffad1de61613a9338f9a1ae5ae346 Mon Sep 17 00:00:00 2001 From: Tyler Liu Date: Wed, 28 Aug 2024 09:31:23 -0700 Subject: [PATCH] Fix PKCE clientSecret issue --- RingCentral.Net/RestClient.cs | 20 ++++++++++++++------ RingCentral.Net/RingCentral.Net.csproj | 7 ++++++- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/RingCentral.Net/RestClient.cs b/RingCentral.Net/RestClient.cs index 7a9725b0..d84d5fd9 100644 --- a/RingCentral.Net/RestClient.cs +++ b/RingCentral.Net/RestClient.cs @@ -69,13 +69,21 @@ public async Task Request(HttpRequestMessage httpRequestMes { restRequestConfig = restRequestConfig ?? RestRequestConfig.DefaultInstance; - httpRequestMessage.Headers.Add("X-User-Agent", $"{appName}/{appVersion} RingCentral.Net/6.2.0"); - httpRequestMessage.Headers.Authorization = - BasicAuthPaths.Contains(httpRequestMessage.RequestUri.AbsolutePath) - ? new AuthenticationHeaderValue("Basic", + httpRequestMessage.Headers.Add("X-User-Agent", $"{appName}/{appVersion} RingCentral.Net/6.2.1"); + if (BasicAuthPaths.Contains(httpRequestMessage.RequestUri.AbsolutePath)) + { + if (clientSecret != default(string)) + { + httpRequestMessage.Headers.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String( - Encoding.UTF8.GetBytes($"{clientId}:{clientSecret}"))) - : new AuthenticationHeaderValue("Bearer", token.access_token); + Encoding.UTF8.GetBytes($"{clientId}:{clientSecret}"))); + } + // else: PKCE doesn't require a clientSecret + } + else + { + httpRequestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token.access_token); + } var httpResponseMessage = await httpClient.SendAsync(httpRequestMessage, restRequestConfig.cancellationToken); diff --git a/RingCentral.Net/RingCentral.Net.csproj b/RingCentral.Net/RingCentral.Net.csproj index ce4a748d..dc1b8c3f 100644 --- a/RingCentral.Net/RingCentral.Net.csproj +++ b/RingCentral.Net/RingCentral.Net.csproj @@ -3,17 +3,22 @@ netstandard2.0 RingCentral.Net - 6.2.0 + 6.2.1 Tyler Liu (tyler.liu@ringcentral.com) RingCentral SDK for .NET MIT false RingCentral RingCentral + README.md + + True + README.md +