Skip to content

Commit 672bdba

Browse files
committed
fix macos login
1 parent 40e7b11 commit 672bdba

1 file changed

Lines changed: 20 additions & 18 deletions

File tree

src/OneWare.CloudIntegration/Services/OneWareCloudLoginService.cs

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -481,15 +481,16 @@ public async Task<bool> LoginAsync(CancellationToken cancellationToken = default
481481
string codeChallenge = GenerateCodeChallenge(_codeVerifier);
482482
_state = GenerateState();
483483

484-
string authUrl = $"{authProviderBaseUrl}/protocol/openid-connect/auth" +
485-
$"?client_id=OneWareStudio" +
486-
$"&redirect_uri={Uri.EscapeDataString(redirectUri)}" +
487-
$"&response_type=code" +
488-
$"&scope=openid profile email" +
489-
$"&code_challenge={codeChallenge}" +
490-
$"&code_challenge_method=S256" +
491-
$"&state={_state}" +
492-
$"&prompt=consent";
484+
var authQueryParams = HttpUtility.ParseQueryString(string.Empty);
485+
authQueryParams["client_id"] = "OneWareStudio";
486+
authQueryParams["redirect_uri"] = redirectUri;
487+
authQueryParams["response_type"] = "code";
488+
authQueryParams["scope"] = "openid profile email";
489+
authQueryParams["code_challenge"] = codeChallenge;
490+
authQueryParams["code_challenge_method"] = "S256";
491+
authQueryParams["state"] = _state;
492+
authQueryParams["prompt"] = "consent";
493+
string authUrl = $"{authProviderBaseUrl}/protocol/openid-connect/auth?{authQueryParams}";
493494

494495
if (startNewListener)
495496
{
@@ -536,15 +537,16 @@ public async Task<bool> LoginAsync(CancellationToken cancellationToken = default
536537
string offlineCodeChallenge = GenerateCodeChallenge(_offlineCodeVerifier);
537538
_offlineState = GenerateState();
538539

539-
string offlineAuthUrl = $"{authProviderBaseUrl}/protocol/openid-connect/auth" +
540-
$"?client_id=OneWareStudio" +
541-
$"&redirect_uri={Uri.EscapeDataString(redirectUri)}" +
542-
$"&response_type=code" +
543-
$"&scope=openid%20offline_access" +
544-
$"&code_challenge={offlineCodeChallenge}" +
545-
$"&code_challenge_method=S256" +
546-
$"&state={_offlineState}" +
547-
$"&prompt=none";
540+
var offlineQueryParams = HttpUtility.ParseQueryString(string.Empty);
541+
offlineQueryParams["client_id"] = "OneWareStudio";
542+
offlineQueryParams["redirect_uri"] = redirectUri;
543+
offlineQueryParams["response_type"] = "code";
544+
offlineQueryParams["scope"] = "openid offline_access";
545+
offlineQueryParams["code_challenge"] = offlineCodeChallenge;
546+
offlineQueryParams["code_challenge_method"] = "S256";
547+
offlineQueryParams["state"] = _offlineState;
548+
offlineQueryParams["prompt"] = "none";
549+
string offlineAuthUrl = $"{authProviderBaseUrl}/protocol/openid-connect/auth?{offlineQueryParams}";
548550

549551
step1Response.Redirect(offlineAuthUrl);
550552
step1Response.KeepAlive = false;

0 commit comments

Comments
 (0)