Skip to content

Commit

Permalink
Merge pull request #53 from 64Soft/develop
Browse files Browse the repository at this point in the history
Release
64Soft authored Jan 1, 2024
2 parents b49ec1a + d4d1d13 commit 0a58ac0
Showing 6 changed files with 111 additions and 67 deletions.
78 changes: 41 additions & 37 deletions src/NRatings.Client/App.Config
Original file line number Diff line number Diff line change
@@ -1,45 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>

<configSections>
<section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
</configSections>
<configSections>
<section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
</configSections>

<configBuilders>
<builders>
<add name="Secrets"
userSecretsFile="C:/DevSecrets/NRatings.Client/NRatings.Client.Secrets.dev.xml"
type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets"/>
</builders>
</configBuilders>
<configBuilders>
<builders>
<add name="Secrets"
userSecretsFile="C:/DevSecrets/NRatings.Client/NRatings.Client.Secrets.dev.xml"
type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets"/>
</builders>
</configBuilders>

<appSettings configBuilders="Secrets">
<add key="ApiBaseUri" value="(secret)"/>
<add key="Auth0Domain" value="(secret)"/>
<add key="Auth0ClientId" value="(secret)"/>
<add key="Auth0ApiAudience" value="(secret)"/>
<add key="AuthHttpServer" value="(secret)"/>
<add key="AuthNativeBrowserRedirectBaseUri" value="(secret)"/>
</appSettings>
<appSettings configBuilders="Secrets">
<add key="ApiBaseUri" value="(secret)"/>
<add key="Auth0Domain" value="(secret)"/>
<add key="Auth0ClientId" value="(secret)"/>
<add key="Auth0ApiAudience" value="(secret)"/>
<add key="AuthHttpServer" value="(secret)"/>
<add key="AuthNativeBrowserRedirectBaseUri" value="(secret)"/>
</appSettings>

<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
35 changes: 15 additions & 20 deletions src/NRatings.Client/Domain/UserManager.cs
Original file line number Diff line number Diff line change
@@ -14,7 +14,6 @@ public static class UserManager
{
private static ClaimsIdentity user;
private static NativeBrowser nativeBrowser = new NativeBrowser();
private static Auth0Client auth0Client;
private static bool loginOngoing;

public static string UserName => user?.FindFirst("name")?.Value;
@@ -32,7 +31,7 @@ public static async Task<UserLoginResult> LoginAsync(Form callingForm = null)
return new UserLoginResult(true);

//if user previously started login process but closed browser, an existing NativeBrowser object is still awaiting the result. If that is the case, just reopen the browser with the startUrl
if (loginOngoing)
if (loginOngoing && Program.UserSettings.UseEmbeddedBrowserForLogin == false)
Process.Start(nativeBrowser.StartUrl);
else
{
@@ -45,7 +44,7 @@ public static async Task<UserLoginResult> LoginAsync(Form callingForm = null)
if (loginResult.User?.Identity is ClaimsIdentity identity)
{
user = identity;
Program.UserSettings.SaveAccessToken(loginResult.AccessToken, loginResult.AccessTokenExpiration);
Program.UserSettings.SaveAccessToken(loginResult.AccessToken, loginResult.AccessTokenExpiration.LocalDateTime);
Program.UserSettings.SaveRefreshToken(loginResult.RefreshToken);

return new UserLoginResult(true);
@@ -113,7 +112,7 @@ private static async Task RefreshAccessToken()
var tokenResult = await GetAuth0Client().RefreshTokenAsync(Program.UserSettings.RefreshToken);
if (!tokenResult.IsError)
{
Program.UserSettings.SaveAccessToken(tokenResult.AccessToken, tokenResult.AccessTokenExpiration);
Program.UserSettings.SaveAccessToken(tokenResult.AccessToken, tokenResult.AccessTokenExpiration.LocalDateTime);
if (tokenResult.RefreshToken != null)
Program.UserSettings.SaveRefreshToken(tokenResult.RefreshToken);
}
@@ -155,21 +154,21 @@ private static Auth0Client GetAuth0Client(Form callingForm = null)
{
nativeBrowser.CallingForm = callingForm;

if (auth0Client == null)
var clientOptions = new Auth0ClientOptions
{
var clientOptions = new Auth0ClientOptions
{
Domain = ConfigurationManager.AppSettings["Auth0Domain"],
ClientId = ConfigurationManager.AppSettings["Auth0ClientId"],
Browser = nativeBrowser,
RedirectUri = ConfigurationManager.AppSettings["AuthHttpServer"],
};

clientOptions.PostLogoutRedirectUri = clientOptions.RedirectUri;
auth0Client = new Auth0Client(clientOptions);
Domain = ConfigurationManager.AppSettings["Auth0Domain"],
ClientId = ConfigurationManager.AppSettings["Auth0ClientId"],
Scope = "openid profile email offline_access"
};

if (Program.UserSettings.UseEmbeddedBrowserForLogin == false)
{
clientOptions.Browser = nativeBrowser;
clientOptions.RedirectUri = ConfigurationManager.AppSettings["AuthHttpServer"];
}

return auth0Client;
clientOptions.PostLogoutRedirectUri = clientOptions.RedirectUri;
return new Auth0Client(clientOptions);
}

private static Dictionary<string, string> GetAuth0Params()
@@ -178,10 +177,6 @@ private static Dictionary<string, string> GetAuth0Params()
{
{
"audience", ConfigurationManager.AppSettings["Auth0ApiAudience"]
},

{
"scope", "openid profile email offline_access"
}
};

1 change: 1 addition & 0 deletions src/NRatings.Client/Domain/UserSettings.cs
Original file line number Diff line number Diff line change
@@ -13,6 +13,7 @@ public class UserSettings
{
private static string filePath = Path.Combine(UserSettingsManager.GetSettingsPath(), @"usersettings.xml");

public bool UseEmbeddedBrowserForLogin { get; set; }
public string DefaultFormula { get; set; }
public List<NR2003Instance> NR2003Instances { get; set; }

29 changes: 29 additions & 0 deletions src/NRatings.Client/GUI/frmUserSettings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions src/NRatings.Client/GUI/frmUserSettings.resx
Original file line number Diff line number Diff line change
@@ -123,6 +123,9 @@
<metadata name="bsUserSettings.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="bsUserSettings.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="fbDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>466, 17</value>
</metadata>
@@ -134,6 +137,9 @@ i.e. point to C:\Games\NR2003 and NOT to C:\Games\NR2003\series\cup !</value>
<metadata name="bnNR2003Instances.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>307, 17</value>
</metadata>
<metadata name="bnNR2003Instances.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>307, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -202,4 +208,7 @@ i.e. point to C:\Games\NR2003 and NOT to C:\Games\NR2003\series\cup !</value>
<metadata name="browseDataGridViewButtonColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="browseDataGridViewButtonColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
26 changes: 16 additions & 10 deletions src/NRatings.Client/NRatings.Client.csproj
Original file line number Diff line number Diff line change
@@ -500,27 +500,33 @@
<ItemGroup />
<ItemGroup>
<PackageReference Include="Auth0.OidcClient.WinForms">
<Version>3.2.1</Version>
<Version>4.0.0</Version>
</PackageReference>
<PackageReference Include="Flurl.Http">
<Version>3.2.0</Version>
<Version>4.0.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.Configuration.ConfigurationBuilders.UserSecrets">
<Version>2.0.0</Version>
<Version>3.0.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.SlowCheetah">
<Version>3.2.26</Version>
<Version>4.0.50</Version>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
<Version>13.0.1</Version>
</PackageReference>
<PackageReference Include="System.Configuration.ConfigurationManager">
<Version>5.0.0</Version>
<Version>8.0.0</Version>
</PackageReference>
<PackageReference Include="System.Memory">
<Version>4.5.5</Version>
</PackageReference>
<PackageReference Include="System.Runtime.CompilerServices.Unsafe">
<Version>6.0.0</Version>
</PackageReference>
<PackageReference Include="System.Text.Encodings.Web">
<Version>5.0.1</Version>
<Version>8.0.0</Version>
</PackageReference>
<PackageReference Include="System.Text.Json">
<Version>8.0.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
@@ -557,7 +563,7 @@
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
<UserProperties Reactor_Enabled="0" Reactor_Lib="0" Reactor_Automatic="1" Reactor_Commands="" Reactor_Project="" Reactor_Output="[main_assembly_dir]NRatings_Secure\NRatings.exe" BuildVersion_UpdateAssemblyVersion="False" BuildVersion_UpdateFileVersion="False" BuildVersion_BuildVersioningStyle="None.None.None.None" BuildVersion_UseGlobalSettings="False" />
<UserProperties BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.None.None" BuildVersion_UpdateFileVersion="False" BuildVersion_UpdateAssemblyVersion="False" Reactor_Output="[main_assembly_dir]NRatings_Secure\NRatings.exe" Reactor_Project="" Reactor_Commands="" Reactor_Automatic="1" Reactor_Lib="0" Reactor_Enabled="0" />
</VisualStudio>
</ProjectExtensions>
<PropertyGroup>

0 comments on commit 0a58ac0

Please sign in to comment.