Skip to content

Commit 66292a9

Browse files
hickfordMatthew John Cheetham
andcommitted
Apply suggestions from code review
Co-authored-by: Matthew John Cheetham <[email protected]>
1 parent c512d1b commit 66292a9

File tree

2 files changed

+19
-14
lines changed

2 files changed

+19
-14
lines changed

src/shared/Core.Tests/GenericOAuthConfigTests.cs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,11 @@ public void GenericOAuthConfig_TryGet_Gitea()
7272
var protocol = "https";
7373
var host = "example.com";
7474
var remoteUri = new Uri($"{protocol}://{host}");
75-
// https://docs.gitea.com/next/development/oauth2-provider?_highlight=oauth#pre-configured-applications
76-
const string expectedClientId = "e90ee53c-94e2-48ac-9358-a874fb9e0662";
77-
// https://docs.gitea.com/next/development/oauth2-provider?_highlight=oauth#endpoints
78-
const string authzEndpoint = "/login/oauth/authorize";
79-
const string tokenEndpoint = "/login/oauth/access_token";
75+
const string expectedClientId = GenericOAuthConfig.WellKnown.GiteaClientId;
8076
string[] expectedScopes = Array.Empty<string>();
81-
var expectedRedirectUri = new Uri("http://127.0.0.1");
82-
var expectedAuthzEndpoint = new Uri(remoteUri, authzEndpoint);
83-
var expectedTokenEndpoint = new Uri(remoteUri, tokenEndpoint);
77+
var expectedRedirectUri = GenericOAuthConfig.WellKnown.LocalIPv4RedirectUri;
78+
var expectedAuthzEndpoint = new Uri(remoteUri, GenericOAuthConfig.WellKnown.GiteaAuthzEndpoint);
79+
var expectedTokenEndpoint = new Uri(remoteUri, GenericOAuthConfig.WellKnown.GiteaTokenEndpoint);
8480

8581
var trace = new NullTrace();
8682
var settings = new TestSettings

src/shared/Core/GenericOAuthConfig.cs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,14 @@ public static bool TryGet(ITrace trace, ISettings settings, InputArguments input
1414
Uri tokenEndpointUri = null;
1515
var remoteUri = input.GetRemoteUri();
1616

17-
if (input.WwwAuth.Any(x => x.Contains("Basic realm=\"Gitea\"")))
17+
if (input.WwwAuth.Any(x => x.Contains("Basic realm=\"Gitea\"", StringComparison.OrdinalIgnoreCase)))
1818
{
1919
trace.WriteLine($"Using universal Gitea OAuth configuration");
2020
// https://docs.gitea.com/next/development/oauth2-provider?_highlight=oauth#pre-configured-applications
21-
config.ClientId = "e90ee53c-94e2-48ac-9358-a874fb9e0662";
22-
// https://docs.gitea.com/next/development/oauth2-provider?_highlight=oauth#endpoints
23-
authzEndpointUri = new Uri(remoteUri, "/login/oauth/authorize");
24-
tokenEndpointUri = new Uri(remoteUri, "/login/oauth/access_token");
25-
config.RedirectUri = new Uri("http://127.0.0.1");
21+
config.ClientId = WellKnown.GiteaClientId;
22+
authzEndpointUri = new Uri(remoteUri, WellKnown.GiteaAuthzEndpoint);
23+
tokenEndpointUri = new Uri(remoteUri, WellKnown.GiteaTokenEndpoint);
24+
config.RedirectUri = WellKnown.LocalIPv4RedirectUri;
2625
}
2726

2827
if (settings.TryGetSetting(
@@ -158,5 +157,15 @@ public static bool TryGet(ITrace trace, ISettings settings, InputArguments input
158157
public string DefaultUserName { get; set; }
159158

160159
public bool SupportsDeviceCode => Endpoints.DeviceAuthorizationEndpoint != null;
160+
161+
public static class WellKnown
162+
{
163+
// https://docs.gitea.com/next/development/oauth2-provider?_highlight=oauth#pre-configured-applications
164+
public const string GiteaClientId = "e90ee53c-94e2-48ac-9358-a874fb9e0662";
165+
// https://docs.gitea.com/next/development/oauth2-provider?_highlight=oauth#endpoints
166+
public const string GiteaAuthzEndpoint = "/login/oauth/authorize";
167+
public const string GiteaTokenEndpoint = "/login/oauth/access_token";
168+
public static Uri LocalIPv4RedirectUri = new Uri("http://127.0.0.1");
169+
}
161170
}
162171
}

0 commit comments

Comments
 (0)