diff --git a/samples/Sample.Service.Api/Sample.Service.Api.csproj b/samples/Sample.Service.Api/Sample.Service.Api.csproj index 652a303..9e5060c 100644 --- a/samples/Sample.Service.Api/Sample.Service.Api.csproj +++ b/samples/Sample.Service.Api/Sample.Service.Api.csproj @@ -5,8 +5,8 @@ enable - + - + \ No newline at end of file diff --git a/samples/Samples.Blazor.App.Host/Samples.Blazor.App.Host.csproj b/samples/Samples.Blazor.App.Host/Samples.Blazor.App.Host.csproj index e3c6939..352714d 100644 --- a/samples/Samples.Blazor.App.Host/Samples.Blazor.App.Host.csproj +++ b/samples/Samples.Blazor.App.Host/Samples.Blazor.App.Host.csproj @@ -8,6 +8,6 @@ - + \ No newline at end of file diff --git a/samples/Samples.Blazor.App/Samples.Blazor.App.csproj b/samples/Samples.Blazor.App/Samples.Blazor.App.csproj index 8381af3..7ecc385 100644 --- a/samples/Samples.Blazor.App/Samples.Blazor.App.csproj +++ b/samples/Samples.Blazor.App/Samples.Blazor.App.csproj @@ -5,9 +5,9 @@ enable - - - + + + diff --git a/src/Pixel.Identity.Core/Pixel.Identity.Core.csproj b/src/Pixel.Identity.Core/Pixel.Identity.Core.csproj index e9a33a5..bd99bd1 100644 --- a/src/Pixel.Identity.Core/Pixel.Identity.Core.csproj +++ b/src/Pixel.Identity.Core/Pixel.Identity.Core.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/src/Pixel.Identity.Messenger.Email/Pixel.Identity.Messenger.Email.csproj b/src/Pixel.Identity.Messenger.Email/Pixel.Identity.Messenger.Email.csproj index e48c1df..e066b5e 100644 --- a/src/Pixel.Identity.Messenger.Email/Pixel.Identity.Messenger.Email.csproj +++ b/src/Pixel.Identity.Messenger.Email/Pixel.Identity.Messenger.Email.csproj @@ -5,7 +5,7 @@ true - + diff --git a/src/Pixel.Identity.Provider/Components/MainLayout.razor b/src/Pixel.Identity.Provider/Components/MainLayout.razor index df851e6..dd80335 100644 --- a/src/Pixel.Identity.Provider/Components/MainLayout.razor +++ b/src/Pixel.Identity.Provider/Components/MainLayout.razor @@ -5,7 +5,7 @@ - + Pixel Identity Provider diff --git a/src/Pixel.Identity.Provider/Pixel.Identity.Provider.csproj b/src/Pixel.Identity.Provider/Pixel.Identity.Provider.csproj index b537c73..07fc833 100644 --- a/src/Pixel.Identity.Provider/Pixel.Identity.Provider.csproj +++ b/src/Pixel.Identity.Provider/Pixel.Identity.Provider.csproj @@ -10,20 +10,19 @@ ..\..\.builds\Identity - - - + + - - - - - - - - - - + + + + + + + + + + diff --git a/src/Pixel.Identity.Shared/Pixel.Identity.Shared.csproj b/src/Pixel.Identity.Shared/Pixel.Identity.Shared.csproj index 7bdabfc..f9aa873 100644 --- a/src/Pixel.Identity.Shared/Pixel.Identity.Shared.csproj +++ b/src/Pixel.Identity.Shared/Pixel.Identity.Shared.csproj @@ -7,6 +7,6 @@ - + \ No newline at end of file diff --git a/src/Pixel.Identity.Store.Mongo.Migrations/Pixel.Identity.Store.Mongo.Migrations.csproj b/src/Pixel.Identity.Store.Mongo.Migrations/Pixel.Identity.Store.Mongo.Migrations.csproj index 2a87fbf..065afd5 100644 --- a/src/Pixel.Identity.Store.Mongo.Migrations/Pixel.Identity.Store.Mongo.Migrations.csproj +++ b/src/Pixel.Identity.Store.Mongo.Migrations/Pixel.Identity.Store.Mongo.Migrations.csproj @@ -9,10 +9,10 @@ - - - - + + + + diff --git a/src/Pixel.Identity.Store.Mongo/Pixel.Identity.Store.Mongo.csproj b/src/Pixel.Identity.Store.Mongo/Pixel.Identity.Store.Mongo.csproj index 03e3c7d..139d3de 100644 --- a/src/Pixel.Identity.Store.Mongo/Pixel.Identity.Store.Mongo.csproj +++ b/src/Pixel.Identity.Store.Mongo/Pixel.Identity.Store.Mongo.csproj @@ -6,19 +6,19 @@ true - + runtime - - + + runtime - + runtime - - + + diff --git a/src/Pixel.Identity.Store.PostgreSQL/Pixel.Identity.Store.PostgreSQL.csproj b/src/Pixel.Identity.Store.PostgreSQL/Pixel.Identity.Store.PostgreSQL.csproj index 77b2300..4c5092f 100644 --- a/src/Pixel.Identity.Store.PostgreSQL/Pixel.Identity.Store.PostgreSQL.csproj +++ b/src/Pixel.Identity.Store.PostgreSQL/Pixel.Identity.Store.PostgreSQL.csproj @@ -6,18 +6,21 @@ true - - - + + + runtime - + runtime - - - - + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/Pixel.Identity.Store.Sql.Migrations/Pixel.Identity.Store.Sql.Migrations.csproj b/src/Pixel.Identity.Store.Sql.Migrations/Pixel.Identity.Store.Sql.Migrations.csproj index e1f8ff2..2b2c562 100644 --- a/src/Pixel.Identity.Store.Sql.Migrations/Pixel.Identity.Store.Sql.Migrations.csproj +++ b/src/Pixel.Identity.Store.Sql.Migrations/Pixel.Identity.Store.Sql.Migrations.csproj @@ -8,13 +8,13 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + diff --git a/src/Pixel.Identity.Store.Sql.Shared/Pixel.Identity.Store.Sql.Shared.csproj b/src/Pixel.Identity.Store.Sql.Shared/Pixel.Identity.Store.Sql.Shared.csproj index 0816674..721735f 100644 --- a/src/Pixel.Identity.Store.Sql.Shared/Pixel.Identity.Store.Sql.Shared.csproj +++ b/src/Pixel.Identity.Store.Sql.Shared/Pixel.Identity.Store.Sql.Shared.csproj @@ -6,17 +6,20 @@ true - - - + + + runtime - + runtime - - - + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/Pixel.Identity.Store.SqlServer/Pixel.Identity.Store.SqlServer.csproj b/src/Pixel.Identity.Store.SqlServer/Pixel.Identity.Store.SqlServer.csproj index 510f214..7b28537 100644 --- a/src/Pixel.Identity.Store.SqlServer/Pixel.Identity.Store.SqlServer.csproj +++ b/src/Pixel.Identity.Store.SqlServer/Pixel.Identity.Store.SqlServer.csproj @@ -6,18 +6,21 @@ true - - - + + + runtime - + runtime - - - - + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/Pixel.Identity.UI.Client/Components/AddRoleDialog.razor.cs b/src/Pixel.Identity.UI.Client/Components/AddRoleDialog.razor.cs index ce45238..bf9abae 100644 --- a/src/Pixel.Identity.UI.Client/Components/AddRoleDialog.razor.cs +++ b/src/Pixel.Identity.UI.Client/Components/AddRoleDialog.razor.cs @@ -5,6 +5,7 @@ using Pixel.Identity.UI.Client.Services; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; namespace Pixel.Identity.UI.Client.Components @@ -61,7 +62,7 @@ async Task AddRoleAsync() /// /// /// - private async Task> SearchRoles(string value) + private async Task> SearchRoles(string value, CancellationToken ct) { // if text is null or empty, don't return values (drop-down will not open) if (string.IsNullOrEmpty(value)) diff --git a/src/Pixel.Identity.UI.Client/Components/AddScopeDialog.razor.cs b/src/Pixel.Identity.UI.Client/Components/AddScopeDialog.razor.cs index c7b3d3f..0ea3879 100644 --- a/src/Pixel.Identity.UI.Client/Components/AddScopeDialog.razor.cs +++ b/src/Pixel.Identity.UI.Client/Components/AddScopeDialog.razor.cs @@ -4,6 +4,7 @@ using Pixel.Identity.Shared.ViewModels; using Pixel.Identity.UI.Client.Services; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; namespace Pixel.Identity.UI.Client.Components @@ -42,7 +43,7 @@ void AddScope() /// /// /// - async Task> SearchScopes(string value) + async Task> SearchScopes(string value, CancellationToken ct) { // if text is null or empty, don't return values (drop-down will not open) if (string.IsNullOrEmpty(value)) diff --git a/src/Pixel.Identity.UI.Client/Components/ApplicationForm.razor b/src/Pixel.Identity.UI.Client/Components/ApplicationForm.razor index d5b6f4b..8cfd7ca 100644 --- a/src/Pixel.Identity.UI.Client/Components/ApplicationForm.razor +++ b/src/Pixel.Identity.UI.Client/Components/ApplicationForm.razor @@ -85,18 +85,17 @@
- + - + - +
Scope Permissions -
@@ -104,7 +103,7 @@
- + @@ -115,7 +114,7 @@ Requirements
- + @@ -124,12 +123,11 @@ Settings
- +
Token LifeTimes -
diff --git a/src/Pixel.Identity.UI.Client/Pages/Account/Logins.razor b/src/Pixel.Identity.UI.Client/Pages/Account/Logins.razor index da6bab5..ae0f9c0 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Account/Logins.razor +++ b/src/Pixel.Identity.UI.Client/Pages/Account/Logins.razor @@ -24,7 +24,7 @@ else @foreach (var item in externalLogins) { - @item.ProviderDisplayName diff --git a/src/Pixel.Identity.UI.Client/Pages/Application/ApplicationList.razor b/src/Pixel.Identity.UI.Client/Pages/Application/ApplicationList.razor index dbaf37e..1f4e801 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Application/ApplicationList.razor +++ b/src/Pixel.Identity.UI.Client/Pages/Application/ApplicationList.razor @@ -1,7 +1,7 @@ @page "/applications/list" @attribute [Authorize(Policy = Policies.CanManageApplications)] - Applications diff --git a/src/Pixel.Identity.UI.Client/Pages/Application/ApplicationList.razor.cs b/src/Pixel.Identity.UI.Client/Pages/Application/ApplicationList.razor.cs index 6a08cd7..a849813 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Application/ApplicationList.razor.cs +++ b/src/Pixel.Identity.UI.Client/Pages/Application/ApplicationList.razor.cs @@ -5,6 +5,7 @@ using Pixel.Identity.UI.Client.Services; using System; using System.Linq; +using System.Threading; using System.Threading.Tasks; namespace Pixel.Identity.UI.Client.Pages.Application @@ -36,7 +37,7 @@ public partial class ApplicationList : ComponentBase /// /// /// - private async Task> GetApplicationsDataAsync(TableState state) + private async Task> GetApplicationsDataAsync(TableState state, CancellationToken ct) { try { diff --git a/src/Pixel.Identity.UI.Client/Pages/Roles/RoleList.razor b/src/Pixel.Identity.UI.Client/Pages/Roles/RoleList.razor index d68d1c4..6bab42c 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Roles/RoleList.razor +++ b/src/Pixel.Identity.UI.Client/Pages/Roles/RoleList.razor @@ -1,7 +1,7 @@ @page "/roles/list" @attribute [Authorize(Policy = Policies.CanManageRoles)] - User Roles diff --git a/src/Pixel.Identity.UI.Client/Pages/Roles/RoleList.razor.cs b/src/Pixel.Identity.UI.Client/Pages/Roles/RoleList.razor.cs index bed8e85..bb7707c 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Roles/RoleList.razor.cs +++ b/src/Pixel.Identity.UI.Client/Pages/Roles/RoleList.razor.cs @@ -4,6 +4,7 @@ using Pixel.Identity.Shared.ViewModels; using Pixel.Identity.UI.Client.Services; using System.Linq; +using System.Threading; using System.Threading.Tasks; namespace Pixel.Identity.UI.Client.Pages.Roles @@ -35,7 +36,7 @@ public partial class RoleList : ComponentBase /// /// /// - private async Task> GetRolesDataAsync(TableState state) + private async Task> GetRolesDataAsync(TableState state, CancellationToken ct) { try { diff --git a/src/Pixel.Identity.UI.Client/Pages/Scopes/ScopeList.razor b/src/Pixel.Identity.UI.Client/Pages/Scopes/ScopeList.razor index 0e67889..086f7a5 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Scopes/ScopeList.razor +++ b/src/Pixel.Identity.UI.Client/Pages/Scopes/ScopeList.razor @@ -1,7 +1,7 @@ @page "/scopes/list" @attribute [Authorize(Policy = Policies.CanManageScopes)] - Scopes diff --git a/src/Pixel.Identity.UI.Client/Pages/Scopes/ScopeList.razor.cs b/src/Pixel.Identity.UI.Client/Pages/Scopes/ScopeList.razor.cs index c04b561..67e6d2f 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Scopes/ScopeList.razor.cs +++ b/src/Pixel.Identity.UI.Client/Pages/Scopes/ScopeList.razor.cs @@ -4,6 +4,7 @@ using Pixel.Identity.Shared.ViewModels; using Pixel.Identity.UI.Client.Services; using System.Linq; +using System.Threading; using System.Threading.Tasks; namespace Pixel.Identity.UI.Client.Pages.Scopes @@ -36,7 +37,7 @@ public partial class ScopeList : ComponentBase /// /// /// - private async Task> GetScopesDataAsync(TableState state) + private async Task> GetScopesDataAsync(TableState state, CancellationToken ct) { try { diff --git a/src/Pixel.Identity.UI.Client/Pages/Users/UserList.razor b/src/Pixel.Identity.UI.Client/Pages/Users/UserList.razor index c5ceed6..3d068e0 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Users/UserList.razor +++ b/src/Pixel.Identity.UI.Client/Pages/Users/UserList.razor @@ -1,7 +1,7 @@ @page "/users/list" @attribute [Authorize(Policy = Policies.CanManageUsers)] - Users diff --git a/src/Pixel.Identity.UI.Client/Pages/Users/UserList.razor.cs b/src/Pixel.Identity.UI.Client/Pages/Users/UserList.razor.cs index 6ccd626..51fdcd0 100644 --- a/src/Pixel.Identity.UI.Client/Pages/Users/UserList.razor.cs +++ b/src/Pixel.Identity.UI.Client/Pages/Users/UserList.razor.cs @@ -5,6 +5,7 @@ using Pixel.Identity.UI.Client.Components; using Pixel.Identity.UI.Client.Services; using System.Linq; +using System.Threading; using System.Threading.Tasks; namespace Pixel.Identity.UI.Client.Pages.Users @@ -36,7 +37,7 @@ public partial class UserList : ComponentBase /// /// /// - private async Task> GetUsersDataAsync(TableState state) + private async Task> GetUsersDataAsync(TableState state, CancellationToken ct) { try { diff --git a/src/Pixel.Identity.UI.Client/Pixel.Identity.UI.Client.csproj b/src/Pixel.Identity.UI.Client/Pixel.Identity.UI.Client.csproj index 43601ea..66a405d 100644 --- a/src/Pixel.Identity.UI.Client/Pixel.Identity.UI.Client.csproj +++ b/src/Pixel.Identity.UI.Client/Pixel.Identity.UI.Client.csproj @@ -3,13 +3,13 @@ net8.0 - - - - - - - + + + + + + + diff --git a/src/Pixel.Identity.UI.Client/Shared/MainLayout.razor b/src/Pixel.Identity.UI.Client/Shared/MainLayout.razor index 973c4f9..e978a87 100644 --- a/src/Pixel.Identity.UI.Client/Shared/MainLayout.razor +++ b/src/Pixel.Identity.UI.Client/Shared/MainLayout.razor @@ -1,12 +1,13 @@ @inherits LayoutComponentBase + - + diff --git a/src/Pixel.Identity.UI.Client/_Imports.razor b/src/Pixel.Identity.UI.Client/_Imports.razor index 04e9a27..0711b7f 100644 --- a/src/Pixel.Identity.UI.Client/_Imports.razor +++ b/src/Pixel.Identity.UI.Client/_Imports.razor @@ -15,4 +15,5 @@ @using Pixel.Identity.UI.Client.Components; @using MudBlazor; @using Pixel.Identity.Shared; -@using Blazored.FluentValidation +@using Blazored.FluentValidation; +@using System.Threading; diff --git a/src/Pixel.Identity.UI.Tests/ComponentModels/AddUserComponent.cs b/src/Pixel.Identity.UI.Tests/ComponentModels/AddUserComponent.cs index 113d961..543f359 100644 --- a/src/Pixel.Identity.UI.Tests/ComponentModels/AddUserComponent.cs +++ b/src/Pixel.Identity.UI.Tests/ComponentModels/AddUserComponent.cs @@ -49,7 +49,7 @@ public async Task SumbitFormAsync() public async Task CloseDialogAsync() { var dialog = this.page.Locator("div[role='dialog']"); - await dialog.Locator("button[aria-label='close']").ClickAsync(); + await dialog.Locator("button[aria-label='Close dialog']").ClickAsync(); } /// diff --git a/src/Pixel.Identity.UI.Tests/ComponentModels/ClaimsManagerComponent.cs b/src/Pixel.Identity.UI.Tests/ComponentModels/ClaimsManagerComponent.cs index c7091d6..6c91b59 100644 --- a/src/Pixel.Identity.UI.Tests/ComponentModels/ClaimsManagerComponent.cs +++ b/src/Pixel.Identity.UI.Tests/ComponentModels/ClaimsManagerComponent.cs @@ -60,7 +60,7 @@ await page.RunAndWaitForRequestAsync(async () => if(!success) { //close the claim dialog and return false indicating failure - await page.Locator("div[role='dialog'] button[aria-label='close'])").ClickAsync(); + await page.Locator("div[role='dialog'] button[aria-label='Close dialog'])").ClickAsync(); } return success; } diff --git a/src/Pixel.Identity.UI.Tests/Pixel.Identity.UI.Tests.csproj b/src/Pixel.Identity.UI.Tests/Pixel.Identity.UI.Tests.csproj index c6b492b..da89af2 100644 --- a/src/Pixel.Identity.UI.Tests/Pixel.Identity.UI.Tests.csproj +++ b/src/Pixel.Identity.UI.Tests/Pixel.Identity.UI.Tests.csproj @@ -4,12 +4,12 @@ false - - - - + + + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Pixel.Identity.UI.Tests/Tests/ApplicationsFixture.cs b/src/Pixel.Identity.UI.Tests/Tests/ApplicationsFixture.cs index 0b117c7..92cbb93 100644 --- a/src/Pixel.Identity.UI.Tests/Tests/ApplicationsFixture.cs +++ b/src/Pixel.Identity.UI.Tests/Tests/ApplicationsFixture.cs @@ -109,8 +109,8 @@ public async Task Test_That_Can_Not_Create_Application_Without_Required_Details( await addApplicationPage.GoToAsync(); await addApplicationPage.ApplyPreset(application.FromTemplate); await this.Page.Locator("button[type='submit']").ClickAsync(); - await Assert.ThatAsync(async () => await this.Page.Locator("p.mud-input-helper-text.mud-input-error").Nth(0).InnerTextAsync(), Is.EqualTo("'Client Id' must not be empty.")); - await Assert.ThatAsync(async () => await this.Page.Locator("p.mud-input-helper-text.mud-input-error").Nth(1).InnerTextAsync(), Is.EqualTo("'Display Name' must not be empty.")); + await Assert.ThatAsync(async () => await this.Page.Locator("span.mud-input-helper-text.mud-input-error").Nth(0).InnerTextAsync(), Is.EqualTo("'Client Id' must not be empty.")); + await Assert.ThatAsync(async () => await this.Page.Locator("span.mud-input-helper-text.mud-input-error").Nth(1).InnerTextAsync(), Is.EqualTo("'Display Name' must not be empty.")); await Assert.ThatAsync(async () => await this.Page.Locator("div.validation-message").Nth(0).InnerTextAsync(), Is.EqualTo("RedirectUris is required for Authorization Code Flow")); await Assert.ThatAsync(async () => await this.Page.Locator("div.validation-message").Nth(1).InnerTextAsync(), Is.EqualTo("PostLogoutRedirectUris is required for Authorization Code Flow")); diff --git a/src/Pixel.Identity.UI.Tests/Tests/RegisterFixture.cs b/src/Pixel.Identity.UI.Tests/Tests/RegisterFixture.cs index 1a482be..ae1c53a 100644 --- a/src/Pixel.Identity.UI.Tests/Tests/RegisterFixture.cs +++ b/src/Pixel.Identity.UI.Tests/Tests/RegisterFixture.cs @@ -95,7 +95,7 @@ public async Task Validate_That_Can_Register_Account(User user) await registrationPage.RegisterAsync(user.Email, user.Password); //After login, user should be able to see home, profile, logins and authenticator link without //any additional claims - await Expect(this.Page.Locator("div.mud-navmenu.mud-navmenu-default a")).ToHaveCountAsync(4); + await Expect(this.Page.Locator("nav a")).ToHaveCountAsync(4); } /// diff --git a/src/Pixel.Identity.UI.Tests/Tests/ScopesFixture.cs b/src/Pixel.Identity.UI.Tests/Tests/ScopesFixture.cs index 7d06031..0682c74 100644 --- a/src/Pixel.Identity.UI.Tests/Tests/ScopesFixture.cs +++ b/src/Pixel.Identity.UI.Tests/Tests/ScopesFixture.cs @@ -275,7 +275,7 @@ await this.Page.Locator("div#errorAlert").WaitForAsync(new LocatorWaitForOptions Timeout = 5000 }); await this.Page.Locator("div#errorAlert").IsVisibleAsync(); - await this.Page.Locator("button[aria-label='close']").ClickAsync(); + await this.Page.Locator("button[aria-label='Close dialog']").ClickAsync(); } diff --git a/src/Pixel.Identity.UI.Tests/Tests/UsersFixture.cs b/src/Pixel.Identity.UI.Tests/Tests/UsersFixture.cs index 07da2af..a6de723 100644 --- a/src/Pixel.Identity.UI.Tests/Tests/UsersFixture.cs +++ b/src/Pixel.Identity.UI.Tests/Tests/UsersFixture.cs @@ -179,7 +179,7 @@ await this.Page.Locator("div.mud-popover-provider div.mud-list div.mud-list-item await this.Page.Locator("div.mud-popover-provider div.mud-list div.mud-list-item-text").ClickAsync(); await dialog.Locator("button#btnAddRole").ClickAsync(); await Assert.ThatAsync(async () => await dialog.Locator("div#errorMessage").InnerTextAsync(), Is.EqualTo("IdentityAdmin role is already assigned to user.")); - await dialog.Locator("button[aria-label='close']").ClickAsync(); + await dialog.Locator("button[aria-label='Close dialog']").ClickAsync(); } }