From 238ce5cadecd0ef0314918f34f6ed50c1e81c31d Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Thu, 1 Feb 2024 10:06:11 +0100 Subject: [PATCH 01/86] Add build and test workflow --- .github/workflows/build-and-test.yml | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/build-and-test.yml diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 00000000..69a7265a --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,36 @@ +name: Build and test + +on: + push: + branches: + - develop + - master + pull_request: + +#permissions: + #pull-requests: write + #contents: write + +jobs: + dependabot: + runs-on: windows-latest # Required for some (WPF) projects + + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + id: checkout + with: + fetch-depth: 0 + + - name: Setup .NET Core + id: setup-dotnet + uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0 + with: + dotnet-version: '8.0.x' + + - name: Cake Action + id: cake-action + uses: cake-build/cake-action@a6eb054329257c9e70a6c6bf01747ad6e1d9d52b #v1.4.1 + with: + target: BuildAndTest + arguments: | + IsCiBuild: true \ No newline at end of file From 8d1092e038b862be8257ad27aa4fc6f62c2de014 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Thu, 1 Feb 2024 12:31:54 +0100 Subject: [PATCH 02/86] GitHubSync update --- .config/dotnet-tools.json | 2 +- .github/ISSUE_TEMPLATE.md | 34 ---------- .github/ISSUE_TEMPLATE/---support-request.md | 2 +- .github/ISSUE_TEMPLATE/--bug.md | 5 +- .github/ISSUE_TEMPLATE/--thank-you.md | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 4 +- .github/workflows/build-and-test.yml | 70 ++++++++++---------- .gitignore | 1 - deployment/cake/docker-tasks.cake | 2 +- deployment/cake/lib-msbuild.cake | 4 +- deployment/cake/sourcecontrol-github.cake | 2 +- deployment/cake/tasks.cake | 4 +- deployment/cake/tests-nunit.cake | 2 +- 13 files changed, 48 insertions(+), 86 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index c33ff7cb..da200cda 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "cake.tool": { - "version": "3.2.0", + "version": "4.0.0", "commands": [ "dotnet-cake" ] diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index b18bc56d..00000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,34 +0,0 @@ -# IF YOU DON'T ANSWER THIS TEMPLATE - THE BOT WILL AUTOMATICALLY CLOSE YOUR ISSUE! - -## Please provide as much detail as possible -* Output Window Messages -* Your Code (small reproducible sample) -* If there is an exception/crash - provide the full stack trace - -*IF BUG, INCLUDE THIS PART:* - -### Steps to reproduce - -1. -2. -3. - -Platform: -.NET version: - -### Expected behaviour - -Tell us what should happen - -### Actual behaviour - -Tell us what happens instead -Can you also include a screen shot? - -*IF IT IS A NEW FEATURE REQUEST, INCLUDE THIS PART:* - -### Feature description - -Write a description of the feature. How should it work? How should it look? -Include some graphics if this could help! - diff --git a/.github/ISSUE_TEMPLATE/---support-request.md b/.github/ISSUE_TEMPLATE/---support-request.md index e4d9b77e..e485a184 100644 --- a/.github/ISSUE_TEMPLATE/---support-request.md +++ b/.github/ISSUE_TEMPLATE/---support-request.md @@ -9,7 +9,7 @@ assignees: '' --- -ONLY active OSS contributors OR people who buy me a coffee can ask questions here. If you don't do either of these things - DO NOT FILE HERE OR I WILL SIMPLY REMOVE YOUR ACCOUNT :) +ONLY active OSS contributors OR people who buy us a coffee can ask questions here. If you don't do either of these things - DO NOT FILE HERE :) Give as much details as humanly possible if you want any sort of answer! diff --git a/.github/ISSUE_TEMPLATE/--bug.md b/.github/ISSUE_TEMPLATE/--bug.md index 6c1c323d..2990ca77 100644 --- a/.github/ISSUE_TEMPLATE/--bug.md +++ b/.github/ISSUE_TEMPLATE/--bug.md @@ -12,10 +12,7 @@ assignees: '' ## Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported) - [ ] WPF - - [ ] UWP - - [ ] iOS - - [ ] Android - - [ ] .NET Standard + - [ ] Blazor WASM - [ ] .NET Core ## Component diff --git a/.github/ISSUE_TEMPLATE/--thank-you.md b/.github/ISSUE_TEMPLATE/--thank-you.md index 18cb2c61..932c781a 100644 --- a/.github/ISSUE_TEMPLATE/--thank-you.md +++ b/.github/ISSUE_TEMPLATE/--thank-you.md @@ -1,6 +1,6 @@ --- name: "❤️Thank You" -about: Just want to say thank you, this is the guy to do it in +about: Just want to say thank you, this is the one to do it in title: Thank You labels: '' assignees: '' diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0745d5a7..079180ad 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -27,7 +27,7 @@ None ### PR Checklist ### - [ ] I have included examples or tests -- [ ] I have updated the change log -- [ ] I am listed in the CONTRIBUTORS file +- [ ] I have updated the change log or created a GitHub ticket with the change +- [ ] I am listed in the CONTRIBUTORS file (if it exists) - [ ] Changes adhere to coding standard - [ ] I checked the licenses of Third Party software and discussed new dependencies with at least 1 other team member \ No newline at end of file diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 69a7265a..65cf7330 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -1,36 +1,36 @@ -name: Build and test - -on: - push: - branches: - - develop - - master - pull_request: - -#permissions: - #pull-requests: write - #contents: write - -jobs: - dependabot: - runs-on: windows-latest # Required for some (WPF) projects - - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - id: checkout - with: - fetch-depth: 0 - - - name: Setup .NET Core - id: setup-dotnet - uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0 - with: - dotnet-version: '8.0.x' - - - name: Cake Action - id: cake-action - uses: cake-build/cake-action@a6eb054329257c9e70a6c6bf01747ad6e1d9d52b #v1.4.1 - with: - target: BuildAndTest - arguments: | +name: Build and test + +on: + push: + branches: + - develop + - master + pull_request: + +#permissions: + #pull-requests: write + #contents: write + +jobs: + build-and-test: + runs-on: windows-latest # Required for some (WPF) projects + + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + id: checkout + with: + fetch-depth: 0 + + - name: Setup .NET Core + id: setup-dotnet + uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0 + with: + dotnet-version: '8.0.x' + + - name: Cake Action + id: cake-action + uses: cake-build/cake-action@a6eb054329257c9e70a6c6bf01747ad6e1d9d52b #v1.4.1 + with: + target: BuildAndTest + arguments: | IsCiBuild: true \ No newline at end of file diff --git a/.gitignore b/.gitignore index f9cde13a..c3accbe7 100644 --- a/.gitignore +++ b/.gitignore @@ -132,7 +132,6 @@ build.cakeoverrides TestResults .vs/ .sonarqube/ -.github/ BundleArtifacts/ # docker / tye diff --git a/deployment/cake/docker-tasks.cake b/deployment/cake/docker-tasks.cake index 79350bf3..007572d7 100644 --- a/deployment/cake/docker-tasks.cake +++ b/deployment/cake/docker-tasks.cake @@ -1,7 +1,7 @@ #l "docker-variables.cake" #l "lib-octopusdeploy.cake" -#addin "nuget:?package=Cake.Docker&version=1.2.3" +#addin "nuget:?package=Cake.Docker&version=1.3.0" //------------------------------------------------------------- diff --git a/deployment/cake/lib-msbuild.cake b/deployment/cake/lib-msbuild.cake index 9df7f61e..86155200 100644 --- a/deployment/cake/lib-msbuild.cake +++ b/deployment/cake/lib-msbuild.cake @@ -1,5 +1,5 @@ -#addin "nuget:?package=Cake.Issues&version=3.0.0" -#addin "nuget:?package=Cake.Issues.MsBuild&version=3.0.0" +#addin "nuget:?package=Cake.Issues&version=4.0.0" +#addin "nuget:?package=Cake.Issues.MsBuild&version=4.0.0" #tool "nuget:?package=MSBuild.Extension.Pack&version=1.9.1" diff --git a/deployment/cake/sourcecontrol-github.cake b/deployment/cake/sourcecontrol-github.cake index 6b06b4a3..acadfc16 100644 --- a/deployment/cake/sourcecontrol-github.cake +++ b/deployment/cake/sourcecontrol-github.cake @@ -1,5 +1,5 @@ #addin "nuget:?package=Cake.GitHub&version=0.1.0" -#addin "nuget:?package=Octokit&version=9.0.0" +#addin "nuget:?package=Octokit&version=9.1.1" //------------------------------------------------------------- diff --git a/deployment/cake/tasks.cake b/deployment/cake/tasks.cake index 7fa530e1..0485f277 100644 --- a/deployment/cake/tasks.cake +++ b/deployment/cake/tasks.cake @@ -24,7 +24,7 @@ #l "tests.cake" #l "templates-tasks.cake" -#addin "nuget:?package=Cake.FileHelpers&version=6.1.3" +#addin "nuget:?package=Cake.FileHelpers&version=7.0.0" #addin "nuget:?package=Cake.Sonar&version=1.1.32" #addin "nuget:?package=MagicChunks&version=2.0.0.119" #addin "nuget:?package=Newtonsoft.Json&version=13.0.3" @@ -36,7 +36,7 @@ // It probably means the tool is not correctly installed. // `dotnet tool install --global dotnet-sonarscanner --ignore-failed-sources` //#tool "nuget:?package=MSBuild.SonarQube.Runner.Tool&version=4.8.0" -#tool "nuget:?package=dotnet-sonarscanner&version=6.0.0" +#tool "nuget:?package=dotnet-sonarscanner&version=6.1.0" //------------------------------------------------------------- // BACKWARDS COMPATIBILITY CODE - START diff --git a/deployment/cake/tests-nunit.cake b/deployment/cake/tests-nunit.cake index a9216a8e..59b559a3 100644 --- a/deployment/cake/tests-nunit.cake +++ b/deployment/cake/tests-nunit.cake @@ -1,4 +1,4 @@ -#tool "nuget:?package=NUnit.ConsoleRunner&version=3.16.3" +#tool "nuget:?package=NUnit.ConsoleRunner&version=3.17.0" //------------------------------------------------------------- From fd706126fcc5442e1b6f1499773959732aaa6e3f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 03:48:19 +0000 Subject: [PATCH 03/86] Bump Verify.NUnit from 23.0.1 to 23.1.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.0.1 to 23.1.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.0.1...23.1.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 768f3868..36e67212 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From d3f5e079fc41362aac1a18870ba450770f016f00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 03:16:12 +0000 Subject: [PATCH 04/86] Bump AutoMapper from 12.0.1 to 13.0.0 Bumps [AutoMapper](https://github.com/AutoMapper/AutoMapper) from 12.0.1 to 13.0.0. - [Release notes](https://github.com/AutoMapper/AutoMapper/releases) - [Commits](https://github.com/AutoMapper/AutoMapper/compare/v12.0.1...v13.0.0) --- updated-dependencies: - dependency-name: AutoMapper dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 36e67212..7ce779de 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -13,7 +13,7 @@ - + runtime; build; native; contentfiles; analyzers From fbb5e554f8fd0e2f486aad439182fa20d0ff5446 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Feb 2024 03:17:55 +0000 Subject: [PATCH 05/86] Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.9.0 Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.8.0 to 17.9.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.8.0...v17.9.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 7ce779de..bc098c1b 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -18,7 +18,7 @@ runtime; build; native; contentfiles; analyzers - + From 4757c3e61df2c9943546cd738c834443f9def95d Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Wed, 7 Feb 2024 16:53:39 +0100 Subject: [PATCH 06/86] GitHubSync update --- .github/workflows/build-and-test.yml | 2 +- deployment/cake/sourcecontrol-github.cake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 65cf7330..975a4ba8 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -29,7 +29,7 @@ jobs: - name: Cake Action id: cake-action - uses: cake-build/cake-action@a6eb054329257c9e70a6c6bf01747ad6e1d9d52b #v1.4.1 + uses: cake-build/cake-action@1223b6fa067ad192159f43b50cd4f953679b0934 #v2.0.0 with: target: BuildAndTest arguments: | diff --git a/deployment/cake/sourcecontrol-github.cake b/deployment/cake/sourcecontrol-github.cake index acadfc16..fde50eff 100644 --- a/deployment/cake/sourcecontrol-github.cake +++ b/deployment/cake/sourcecontrol-github.cake @@ -1,5 +1,5 @@ #addin "nuget:?package=Cake.GitHub&version=0.1.0" -#addin "nuget:?package=Octokit&version=9.1.1" +#addin "nuget:?package=Octokit&version=9.1.2" //------------------------------------------------------------- From 14d6ce23e57fd33281b2545fdf00cf49eb0190c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Feb 2024 03:16:29 +0000 Subject: [PATCH 07/86] Bump AutoMapper from 13.0.0 to 13.0.1 Bumps [AutoMapper](https://github.com/AutoMapper/AutoMapper) from 13.0.0 to 13.0.1. - [Release notes](https://github.com/AutoMapper/AutoMapper/releases) - [Commits](https://github.com/AutoMapper/AutoMapper/compare/v13.0.0...v13.0.1) --- updated-dependencies: - dependency-name: AutoMapper dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index bc098c1b..4c583eba 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -13,7 +13,7 @@ - + runtime; build; native; contentfiles; analyzers From 7c985be31c6400338754b2552414acde1f1db033 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Feb 2024 03:54:11 +0000 Subject: [PATCH 08/86] Bump Verify.NUnit from 23.1.0 to 23.2.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.1.0 to 23.2.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.1.0...23.2.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 4c583eba..6acb25ed 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 9e5e0531f7c4c1e185d7fb90ab114c005810da6f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 03:54:00 +0000 Subject: [PATCH 09/86] Bump Verify.NUnit from 23.2.0 to 23.2.1 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.2.0 to 23.2.1. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.2.0...23.2.1) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 6acb25ed..6e9d3548 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From fc4f36ff61dc9015c5179182161886dbbf771828 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Feb 2024 03:32:13 +0000 Subject: [PATCH 10/86] Bump NUnit from 4.0.1 to 4.1.0 Bumps [NUnit](https://github.com/nunit/nunit) from 4.0.1 to 4.1.0. - [Release notes](https://github.com/nunit/nunit/releases) - [Changelog](https://github.com/nunit/nunit/blob/master/CHANGES.md) - [Commits](https://github.com/nunit/nunit/compare/v4.0.1...4.1.0) --- updated-dependencies: - dependency-name: NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 6e9d3548..691f3374 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -21,7 +21,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 4b210451b20aa06db4c523837db41cd30d2afe1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Feb 2024 03:24:04 +0000 Subject: [PATCH 11/86] Bump Verify.NUnit from 23.2.1 to 23.2.2 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.2.1 to 23.2.2. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/commits) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 691f3374..f5bb16aa 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From ac43b3d1fbc1a0b9df33b27e9745a89c45f9c2c7 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Wed, 6 Mar 2024 13:44:52 +0100 Subject: [PATCH 12/86] GitHubSync update --- deployment/cake/generic-variables.cake | 4 ++-- deployment/cake/lib-msbuild.cake | 4 ++-- deployment/cake/sourcecontrol-github.cake | 2 +- deployment/cake/tasks.cake | 16 ++++++++-------- src/Directory.Build.analyzers.props | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/deployment/cake/generic-variables.cake b/deployment/cake/generic-variables.cake index a3a34d2a..246657fd 100644 --- a/deployment/cake/generic-variables.cake +++ b/deployment/cake/generic-variables.cake @@ -400,7 +400,7 @@ public class SonarQubeContext : BuildContextBase public string Url { get; set; } public string Organization { get; set; } public string Username { get; set; } - public string Password { get; set; } + public string Token { get; set; } public string Project { get; set; } protected override void ValidateContext() @@ -514,7 +514,7 @@ private GeneralContext InitializeGeneralContext(BuildContext buildContext, IBuil Url = buildContext.BuildServer.GetVariable("SonarUrl", showValue: true), Organization = buildContext.BuildServer.GetVariable("SonarOrganization", showValue: true), Username = buildContext.BuildServer.GetVariable("SonarUsername", showValue: false), - Password = buildContext.BuildServer.GetVariable("SonarPassword", showValue: false), + Token = buildContext.BuildServer.GetVariable("SonarToken", showValue: false), Project = buildContext.BuildServer.GetVariable("SonarProject", data.Solution.Name, showValue: true) }; diff --git a/deployment/cake/lib-msbuild.cake b/deployment/cake/lib-msbuild.cake index 86155200..ec71055b 100644 --- a/deployment/cake/lib-msbuild.cake +++ b/deployment/cake/lib-msbuild.cake @@ -1,5 +1,5 @@ -#addin "nuget:?package=Cake.Issues&version=4.0.0" -#addin "nuget:?package=Cake.Issues.MsBuild&version=4.0.0" +#addin "nuget:?package=Cake.Issues&version=4.1.0" +#addin "nuget:?package=Cake.Issues.MsBuild&version=4.1.0" #tool "nuget:?package=MSBuild.Extension.Pack&version=1.9.1" diff --git a/deployment/cake/sourcecontrol-github.cake b/deployment/cake/sourcecontrol-github.cake index fde50eff..a481e841 100644 --- a/deployment/cake/sourcecontrol-github.cake +++ b/deployment/cake/sourcecontrol-github.cake @@ -1,5 +1,5 @@ #addin "nuget:?package=Cake.GitHub&version=0.1.0" -#addin "nuget:?package=Octokit&version=9.1.2" +#addin "nuget:?package=Octokit&version=10.0.0" //------------------------------------------------------------- diff --git a/deployment/cake/tasks.cake b/deployment/cake/tasks.cake index 0485f277..ffb490d7 100644 --- a/deployment/cake/tasks.cake +++ b/deployment/cake/tasks.cake @@ -36,7 +36,7 @@ // It probably means the tool is not correctly installed. // `dotnet tool install --global dotnet-sonarscanner --ignore-failed-sources` //#tool "nuget:?package=MSBuild.SonarQube.Runner.Tool&version=4.8.0" -#tool "nuget:?package=dotnet-sonarscanner&version=6.1.0" +#tool "nuget:?package=dotnet-sonarscanner&version=6.2.0" //------------------------------------------------------------- // BACKWARDS COMPATIBILITY CODE - START @@ -397,9 +397,9 @@ Task("Build") sonarSettings.Login = buildContext.General.SonarQube.Username; } - if (!string.IsNullOrWhiteSpace(buildContext.General.SonarQube.Password)) + if (!string.IsNullOrWhiteSpace(buildContext.General.SonarQube.Token)) { - sonarSettings.Password = buildContext.General.SonarQube.Password; + sonarSettings.Token = buildContext.General.SonarQube.Token; } // see https://cakebuild.net/api/Cake.Sonar/SonarBeginSettings/ for more information on @@ -450,7 +450,7 @@ Task("Build") { await buildContext.SourceControl.MarkBuildAsPendingAsync("SonarQube"); - var sonarEndSettings = new SonarEndSettings + var sonarSettings = new SonarEndSettings { // Use core clr version of SonarQube UseCoreClr = true @@ -458,17 +458,17 @@ Task("Build") if (!string.IsNullOrWhiteSpace(buildContext.General.SonarQube.Username)) { - sonarEndSettings.Login = buildContext.General.SonarQube.Username; + sonarSettings.Login = buildContext.General.SonarQube.Username; } - if (!string.IsNullOrWhiteSpace(buildContext.General.SonarQube.Password)) + if (!string.IsNullOrWhiteSpace(buildContext.General.SonarQube.Token)) { - sonarEndSettings.Password = buildContext.General.SonarQube.Password; + sonarSettings.Token = buildContext.General.SonarQube.Token; } Information("Ending SonarQube"); - SonarEnd(sonarEndSettings); + SonarEnd(sonarSettings); await buildContext.SourceControl.MarkBuildAsSucceededAsync("SonarQube"); } diff --git a/src/Directory.Build.analyzers.props b/src/Directory.Build.analyzers.props index ec23151b..d903c90e 100644 --- a/src/Directory.Build.analyzers.props +++ b/src/Directory.Build.analyzers.props @@ -16,7 +16,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive From c088154484460d2c8e3a1d903fc92da006ab34a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Mar 2024 03:55:16 +0000 Subject: [PATCH 13/86] Bump Verify.NUnit from 23.2.2 to 23.2.3 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.2.2 to 23.2.3. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/commits/23.2.3) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index f5bb16aa..f8d4d021 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From efdc0a23a51bad32904f131e49b5ecae9a4d1605 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 03:07:56 +0000 Subject: [PATCH 14/86] Bump Verify.NUnit from 23.2.3 to 23.3.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.2.3 to 23.3.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.2.3...23.3.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index f8d4d021..721da16f 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 59f9be4d27e4882a11f2685cfa0b1a7e0d592f1a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Mar 2024 03:09:06 +0000 Subject: [PATCH 15/86] Bump Verify.NUnit from 23.3.0 to 23.4.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.3.0 to 23.4.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.3.0...23.4.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 721da16f..3c57e868 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From ff50629dd8b5c13a197ce0656feae04243975024 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Mar 2024 03:30:59 +0000 Subject: [PATCH 16/86] Bump Verify.NUnit from 23.4.0 to 23.5.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.4.0 to 23.5.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.4.0...23.5.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 3c57e868..12407d2b 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From c4ee572c11b99810980e18715d53dc69e3f4674d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 03:34:30 +0000 Subject: [PATCH 17/86] Bump Verify.NUnit from 23.5.0 to 23.5.2 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.5.0 to 23.5.2. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.5.0...23.5.2) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 12407d2b..fa22a65d 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From b4e88237f87e1fa4365476885f66e7fdcf796ee6 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Sun, 24 Mar 2024 21:25:36 +0100 Subject: [PATCH 18/86] GitHubSync update --- deployment/cake/github-pages-tasks.cake | 2 +- deployment/cake/issuetrackers-github.cake | 2 +- deployment/cake/tasks.cake | 2 +- src/Directory.Build.analyzers.props | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deployment/cake/github-pages-tasks.cake b/deployment/cake/github-pages-tasks.cake index 9e008273..98aad9ae 100644 --- a/deployment/cake/github-pages-tasks.cake +++ b/deployment/cake/github-pages-tasks.cake @@ -1,6 +1,6 @@ #l "github-pages-variables.cake" -#addin "nuget:?package=Cake.Git&version=3.0.0" +#addin "nuget:?package=Cake.Git&version=4.0.0" //------------------------------------------------------------- diff --git a/deployment/cake/issuetrackers-github.cake b/deployment/cake/issuetrackers-github.cake index 02749125..efa409b9 100644 --- a/deployment/cake/issuetrackers-github.cake +++ b/deployment/cake/issuetrackers-github.cake @@ -1,4 +1,4 @@ -#tool "nuget:?package=gitreleasemanager&version=0.16.0" +#tool "nuget:?package=gitreleasemanager&version=0.17.0" //------------------------------------------------------------- diff --git a/deployment/cake/tasks.cake b/deployment/cake/tasks.cake index ffb490d7..9f4dc759 100644 --- a/deployment/cake/tasks.cake +++ b/deployment/cake/tasks.cake @@ -25,7 +25,7 @@ #l "templates-tasks.cake" #addin "nuget:?package=Cake.FileHelpers&version=7.0.0" -#addin "nuget:?package=Cake.Sonar&version=1.1.32" +#addin "nuget:?package=Cake.Sonar&version=1.1.33" #addin "nuget:?package=MagicChunks&version=2.0.0.119" #addin "nuget:?package=Newtonsoft.Json&version=13.0.3" diff --git a/src/Directory.Build.analyzers.props b/src/Directory.Build.analyzers.props index d903c90e..595ea76b 100644 --- a/src/Directory.Build.analyzers.props +++ b/src/Directory.Build.analyzers.props @@ -16,7 +16,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive From e400901b6dedd12c7986403b33b7bd16edcd15db Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Mon, 25 Mar 2024 11:12:37 +0100 Subject: [PATCH 19/86] GitHubSync update --- .github/workflows/dependabot-auto-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index 1c11fe82..cea481b2 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -11,7 +11,7 @@ jobs: steps: - name: Dependabot metadata id: dependabot-metadata - uses: dependabot/fetch-metadata@c9c4182bf1b97f5224aee3906fd373f6b61b4526 #1.6.0 + uses: dependabot/fetch-metadata@0fb21704c18a42ce5aa8d720ea4b912f5e6babef #2.0.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Approve Dependabot PR From c968c850c422df4f6e232f689b91d5ced586bd67 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Mon, 25 Mar 2024 22:11:59 +0100 Subject: [PATCH 20/86] GitHubSync update --- src/Directory.Build.shared.implicit.props | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Directory.Build.shared.implicit.props b/src/Directory.Build.shared.implicit.props index b223f6f6..87dbcba9 100644 --- a/src/Directory.Build.shared.implicit.props +++ b/src/Directory.Build.shared.implicit.props @@ -53,6 +53,14 @@ true + + + + direct + + low + + true From a6cfb4ab1efd91f9a5c9015cafc6492bade9207d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 03:36:09 +0000 Subject: [PATCH 21/86] Bump Verify.NUnit from 23.5.2 to 23.6.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.5.2 to 23.6.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.5.2...23.6.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index fa22a65d..c5512092 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 35624230d5e403a629cc2a5671739a36e984574e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 03:53:05 +0000 Subject: [PATCH 22/86] Bump Verify.NUnit from 23.6.0 to 23.7.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.6.0 to 23.7.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.6.0...23.7.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index c5512092..281cc9fa 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 514b114a1bd39f8ff1b795a99ccc3b2185c08d3d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 03:25:30 +0000 Subject: [PATCH 23/86] Bump Verify.NUnit from 23.7.0 to 23.7.1 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.7.0 to 23.7.1. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.7.0...23.7.1) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 281cc9fa..d9aa7876 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From a1af5de6dce654e9aa58cc453eccd2e65d227364 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 03:24:38 +0000 Subject: [PATCH 24/86] Bump Verify.NUnit from 23.7.1 to 23.7.2 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.7.1 to 23.7.2. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.7.1...23.7.2) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index d9aa7876..1ca4ef4b 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From dd8711547aab30589069cb396fa40905cc660d12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 May 2024 03:51:15 +0000 Subject: [PATCH 25/86] Bump Verify.NUnit from 23.7.2 to 24.1.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 23.7.2 to 24.1.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/23.7.2...24.1.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 1ca4ef4b..1463514d 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From c3e62457eba240962a46bd7261c2202c41c2d087 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 03:28:58 +0000 Subject: [PATCH 26/86] Bump Verify.NUnit from 24.1.0 to 24.2.0 Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 24.1.0 to 24.2.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/commits) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 1463514d..bca8d3ff 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From bd7fcffac26d5568a2376c2004eaaea0b8c31822 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 03:15:28 +0000 Subject: [PATCH 27/86] Bump Fody from 6.8.0 to 6.8.1 Bumps [Fody](https://github.com/Fody/Fody) from 6.8.0 to 6.8.1. - [Release notes](https://github.com/Fody/Fody/releases) - [Commits](https://github.com/Fody/Fody/compare/6.8.0...6.8.1) --- updated-dependencies: - dependency-name: Fody dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index bca8d3ff..c8757359 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -14,7 +14,7 @@ - + runtime; build; native; contentfiles; analyzers diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 5f681e77..5b55d010 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -20,7 +20,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 8ec9e20e2b4d3ba37f2b82ba3ce62988a248ef0d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 May 2024 03:15:11 +0000 Subject: [PATCH 28/86] Bump Microsoft.NET.Test.Sdk from 17.9.0 to 17.10.0 Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.9.0 to 17.10.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.9.0...v17.10.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index c8757359..29c0ca37 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -18,7 +18,7 @@ runtime; build; native; contentfiles; analyzers - + From d3e34d02ebb27cb34b1b95a0c0146a45abf9a0fa Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Thu, 23 May 2024 23:48:12 +0200 Subject: [PATCH 29/86] GitHubSync update --- .github/workflows/build-and-test.yml | 2 +- .github/workflows/dependabot-auto-merge.yml | 2 +- deployment/cake/components-tasks.cake | 13 +++++ deployment/cake/lib-generic.cake | 63 +++++++++++++++++++++ deployment/cake/lib-msbuild.cake | 10 ++-- deployment/cake/sourcecontrol-github.cake | 2 +- src/Directory.Build.shared.explicit.props | 5 ++ 7 files changed, 89 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 975a4ba8..78439288 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -16,7 +16,7 @@ jobs: runs-on: windows-latest # Required for some (WPF) projects steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 id: checkout with: fetch-depth: 0 diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index cea481b2..5214c1e1 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -11,7 +11,7 @@ jobs: steps: - name: Dependabot metadata id: dependabot-metadata - uses: dependabot/fetch-metadata@0fb21704c18a42ce5aa8d720ea4b912f5e6babef #2.0.0 + uses: dependabot/fetch-metadata@5e5f99653a5b510e8555840e80cbf1514ad4af38 #2.1.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Approve Dependabot PR diff --git a/deployment/cake/components-tasks.cake b/deployment/cake/components-tasks.cake index 90891315..ca91e6f4 100644 --- a/deployment/cake/components-tasks.cake +++ b/deployment/cake/components-tasks.cake @@ -190,8 +190,10 @@ public class ComponentsProcessor : ProcessorBase // Special exception for Blazor projects var isBlazorProject = IsBlazorProject(BuildContext, component); + var isPackageContainerProject = IsPackageContainerProject(BuildContext, component); BuildContext.CakeContext.LogSeparator("Packaging component '{0}'", component); + CakeContext.Information("IsPackageContainerProject = '{0}'", isPackageContainerProject); var projectDirectory = GetProjectDirectory(component); var projectFileName = GetProjectFileName(BuildContext, component); @@ -287,6 +289,17 @@ public class ComponentsProcessor : ProcessorBase noBuild = false; } + if (isPackageContainerProject) + { + // In debug / local builds, automatic building of reference projects + // is enabled for convenience. If that is the case, noBuild must be + // set to false, but *only* in debug mode + if (BuildContext.General.IsLocalBuild) + { + noBuild = false; + } + } + // As described in the this issue: https://github.com/NuGet/Home/issues/4360 // we should not use IsTool, but set BuildOutputTargetFolder instead msBuildSettings.WithProperty("CopyLocalLockFileAssemblies", "true"); diff --git a/deployment/cake/lib-generic.cake b/deployment/cake/lib-generic.cake index d0a5fc98..7ab65714 100644 --- a/deployment/cake/lib-generic.cake +++ b/deployment/cake/lib-generic.cake @@ -440,6 +440,35 @@ private static bool IsCppProject(string projectName) return projectName.EndsWith(".vcxproj"); } +//-------------------------------------------------------------- + +private static bool IsPackageContainerProject(BuildContext buildContext, string projectName) +{ + var isPackageContainer = false; + + var projectFileName = CreateInlinedProjectXml(buildContext, projectName); + + var projectFileContents = System.IO.File.ReadAllText(projectFileName); + + var xmlDocument = XDocument.Parse(projectFileContents); + var projectElement = xmlDocument.Root; + + foreach (var propertyGroupElement in projectElement.Elements("PropertyGroup")) + { + var packageContainerElement = propertyGroupElement.Element("PackageContainer"); + if (packageContainerElement != null) + { + if (packageContainerElement.Value.ToLower() == "true") + { + isPackageContainer = true; + } + break; + } + } + + return isPackageContainer; +} + //------------------------------------------------------------- private static bool IsBlazorProject(BuildContext buildContext, string projectName) @@ -595,6 +624,40 @@ private static bool ShouldProcessProject(BuildContext buildContext, string proje return true; } +private static string CreateInlinedProjectXml(BuildContext buildContext, string projectName) +{ + buildContext.CakeContext.Information($"Running 'msbuild /pp' for project '{projectName}'"); + + var projectInlinedFileName = System.IO.Path.Combine(GetProjectOutputDirectory(buildContext, projectName), + "..", $"{projectName}.inlined.xml"); + + // Note: disabled caching until we correctly clean up everything + //if (!buildContext.CakeContext.FileExists(projectInlinedFileName)) + { + // Run "msbuild /pp" to create a single project file + + var msBuildSettings = new MSBuildSettings + { + Verbosity = Verbosity.Quiet, + ToolVersion = MSBuildToolVersion.Default, + Configuration = buildContext.General.Solution.ConfigurationName, + MSBuildPlatform = MSBuildPlatform.x86, // Always require x86, see platform for actual target platform + PlatformTarget = PlatformTarget.MSIL + }; + + ConfigureMsBuild(buildContext, msBuildSettings, projectName, "pp"); + + msBuildSettings.Target = string.Empty; + msBuildSettings.ArgumentCustomization = args => args.Append($"/pp:{projectInlinedFileName}"); + + var projectFileName = GetProjectFileName(buildContext, projectName); + + RunMsBuild(buildContext, projectName, projectFileName, msBuildSettings, "pp"); + } + + return projectInlinedFileName; +} + //------------------------------------------------------------- private static List GetProjectRuntimesIdentifiers(BuildContext buildContext, Cake.Core.IO.FilePath solutionOrProjectFileName, List runtimeIdentifiersToInvestigate) diff --git a/deployment/cake/lib-msbuild.cake b/deployment/cake/lib-msbuild.cake index ec71055b..636c004d 100644 --- a/deployment/cake/lib-msbuild.cake +++ b/deployment/cake/lib-msbuild.cake @@ -1,5 +1,5 @@ -#addin "nuget:?package=Cake.Issues&version=4.1.0" -#addin "nuget:?package=Cake.Issues.MsBuild&version=4.1.0" +#addin "nuget:?package=Cake.Issues&version=4.4.0" +#addin "nuget:?package=Cake.Issues.MsBuild&version=4.4.0" #tool "nuget:?package=MSBuild.Extension.Pack&version=1.9.1" @@ -67,7 +67,7 @@ private static void ConfigureMsBuild(BuildContext buildContext, MSBuildSettings } else { - buildContext.CakeContext.Information("This is a local build, disabling building of project references"); + buildContext.CakeContext.Information("This is a local build, not disabling building of project references"); } // Continuous integration build @@ -154,7 +154,7 @@ private static void ConfigureMsBuildForDotNet(BuildContext buildContext, DotNetM } else { - buildContext.CakeContext.Information($"This is a local build, disabling building of project references"); + buildContext.CakeContext.Information($"This is a local build, not disabling building of project references"); } // Continuous integration build @@ -488,4 +488,4 @@ private static void InjectAssemblySearchPathsInProjectFile(BuildContext buildCon { buildContext.CakeContext.Error($"Failed to process assembly search paths for project '{projectFileName}': {ex.Message}"); } -} \ No newline at end of file +} diff --git a/deployment/cake/sourcecontrol-github.cake b/deployment/cake/sourcecontrol-github.cake index a481e841..d2478d14 100644 --- a/deployment/cake/sourcecontrol-github.cake +++ b/deployment/cake/sourcecontrol-github.cake @@ -1,5 +1,5 @@ #addin "nuget:?package=Cake.GitHub&version=0.1.0" -#addin "nuget:?package=Octokit&version=10.0.0" +#addin "nuget:?package=Octokit&version=11.0.1" //------------------------------------------------------------- diff --git a/src/Directory.Build.shared.explicit.props b/src/Directory.Build.shared.explicit.props index 66f893c3..01dc5af4 100644 --- a/src/Directory.Build.shared.explicit.props +++ b/src/Directory.Build.shared.explicit.props @@ -50,6 +50,11 @@ bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml + + + false + + - - - - - $(ProjectDir)..\..\output\$(Configuration) - - - <__OverridableOutputPathDefault>$(OverridableOutputRootPath)\$(MSBuildProjectName)\ - $(OverridableOutputRootPath)\$(MSBuildProjectName)\ - $(OverridableOutputRootPath)\$(OutputTargetAssemblyDirectory)\ - - - - $(OverridableOutputPath)\..\$(MSBuildProjectName)\ - $(OverridableOutputPath) - bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml - - - - - false - - - - - $(DotNetPackIntermediateOutputPath) - - - - - CS8034;$(WarningsNotAsErrors) - - - - - - - - - - - - - - - - - - $(PackageId) - - - - icon.png - - - - - - - - - - true - tools - - - - true - tools - - - - - - - TextTemplatingFileGenerator - - - - - - - - - - - - false - - - - - - - - - - - - - - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - - - - True - True - Resources.resx - - - - - - $(DefineConstants);NETCORE;NETCORE2_1;NETCOREAPP;NETCOREAPP2_1 - - - - - $(DefineConstants);NETCORE;NETCORE3_0;NETCOREAPP;NETCOREAPP3_0 - - - - - - - - - - - - $(DefineConstants);NETCORE;NETCORE3_0;NETCOREAPP;NETCOREAPP3_0 - - - - - - - - - - - - $(DefineConstants);NETCORE;NETCORE5;NETCORE5_0;NET5;NET5_0 - - - - - - - - - - - - $(DefineConstants);NETCORE;NETCORE6;NETCORE6_0;NET6;NET6_0 - - - - - - - - - - - - $(DefineConstants);NETCORE;NETCORE7;NETCORE7_0;NET7;NET7_0 - - - - - - - - - - - - $(DefineConstants);NETCORE;NETCORE8;NETCORE8_0;NET8;NET8_0 - - - - - - - - - - - - $(DefineConstants);NETCORE;NETCORE9;NETCORE9_0;NET9;NET9_0 - - - - - - - - - - - - $(DefineConstants);NETCORE;NETCORE10;NETCORE10_0;NET10;NET10_0 - - - - - - - - - - - - $(DefineConstants);NETSTANDARD;NETSTANDARD2_0;NS;NS20 - - - - - - - - - - - - true - $(DefineConstants);NET;NET45;NET450 - - - - true - $(DefineConstants);NET;NET45;NET451 - - - - true - $(DefineConstants);NET;NET45;NET452 - - - - - - - - - - - - true - $(DefineConstants);NET;NET46;NET460 - - - - true - $(DefineConstants);NET;NET46;NET461 - - - - true - $(DefineConstants);NET;NET46;NET462 - - - - - - - - - - - - true - $(DefineConstants);NET;NET47;NET470 - - - - true - $(DefineConstants);NET;NET47;NET471 - - - - true - $(DefineConstants);NET;NET47;NET472 - - - - - - - - - - - - true - $(DefineConstants);NET;NET48;NET480 - - - - true - $(DefineConstants);NET;NET48;NET481 - - - - true - $(DefineConstants);NET;NET48;NET482 - - - - - - - - - - - - true - $(DefineConstants);UAP;UAP_DEFAULT;NETFX_CORE;UWP;WINDOWS_UWP - - - - true - $(DefineConstants);UAP;UAP_16299;NETFX_CORE;UWP;WINDOWS_UWP - - - - - - - - - - - - $(DefineConstants);XAMARIN;IOS - - - - - - - - - - - - $(DefineConstants);XAMARIN;ANDROID - - - - - - - - - - - - <_InstallerTargetFramework>net48 - - - - - <_FakeOutputPath Include="..\$(OutputPath)\$(_InstallerTargetFramework)\$(AssemblyName).dll" /> - - - <_FakeOutputPath Include="..\$(OutputPath)\$(_InstallerTargetFramework)\$(AssemblyName).exe" /> - - - <_FakeOutputPath Include="..\$(OutputPath)\$(_InstallerTargetFramework)\$(AssemblyName).exe" /> - - + + + + + + + $(ProjectDir)..\..\output\$(Configuration) + + + <__OverridableOutputPathDefault>$(OverridableOutputRootPath)\$(MSBuildProjectName)\ + $(OverridableOutputRootPath)\$(MSBuildProjectName)\ + $(OverridableOutputRootPath)\$(OutputTargetAssemblyDirectory)\ + + + + $(OverridableOutputPath)\..\$(MSBuildProjectName)\ + $(OverridableOutputPath) + bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml + + + + + false + + + + + $(DotNetPackIntermediateOutputPath) + + + + + CS8034;$(WarningsNotAsErrors) + + + + + + + + + + + + + + + + + + $(PackageId) + + + + icon.png + + + + + + + + + + true + tools + + + + true + tools + + + + + + + TextTemplatingFileGenerator + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + True + True + Resources.resx + + + + + + $(DefineConstants);NETCORE;NETCORE2_1;NETCOREAPP;NETCOREAPP2_1 + + + + + $(DefineConstants);NETCORE;NETCORE3_0;NETCOREAPP;NETCOREAPP3_0 + + + + + + + + + + + + $(DefineConstants);NETCORE;NETCORE3_0;NETCOREAPP;NETCOREAPP3_0 + + + + + + + + + + + + $(DefineConstants);NETCORE;NETCORE5;NETCORE5_0;NET5;NET5_0 + + + + + + + + + + + + $(DefineConstants);NETCORE;NETCORE6;NETCORE6_0;NET6;NET6_0 + + + + + + + + + + + + $(DefineConstants);NETCORE;NETCORE7;NETCORE7_0;NET7;NET7_0 + + + + + + + + + + + + $(DefineConstants);NETCORE;NETCORE8;NETCORE8_0;NET8;NET8_0 + + + + + + + + + + + + $(DefineConstants);NETCORE;NETCORE9;NETCORE9_0;NET9;NET9_0 + + + + + + + + + + + + $(DefineConstants);NETCORE;NETCORE10;NETCORE10_0;NET10;NET10_0 + + + + + + + + + + + + $(DefineConstants);NETSTANDARD;NETSTANDARD2_0;NS;NS20 + + + + + + + + + + + + true + $(DefineConstants);NET;NET45;NET450 + + + + true + $(DefineConstants);NET;NET45;NET451 + + + + true + $(DefineConstants);NET;NET45;NET452 + + + + + + + + + + + + true + $(DefineConstants);NET;NET46;NET460 + + + + true + $(DefineConstants);NET;NET46;NET461 + + + + true + $(DefineConstants);NET;NET46;NET462 + + + + + + + + + + + + true + $(DefineConstants);NET;NET47;NET470 + + + + true + $(DefineConstants);NET;NET47;NET471 + + + + true + $(DefineConstants);NET;NET47;NET472 + + + + + + + + + + + + true + $(DefineConstants);NET;NET48;NET480 + + + + true + $(DefineConstants);NET;NET48;NET481 + + + + true + $(DefineConstants);NET;NET48;NET482 + + + + + + + + + + + + true + $(DefineConstants);UAP;UAP_DEFAULT;NETFX_CORE;UWP;WINDOWS_UWP + + + + true + $(DefineConstants);UAP;UAP_16299;NETFX_CORE;UWP;WINDOWS_UWP + + + + + + + + + + + + $(DefineConstants);XAMARIN;IOS + + + + + + + + + + + + $(DefineConstants);XAMARIN;ANDROID + + + + + + + + + + + + <_InstallerTargetFramework>net48 + + + + + <_FakeOutputPath Include="..\$(OutputPath)\$(_InstallerTargetFramework)\$(AssemblyName).dll" /> + + + <_FakeOutputPath Include="..\$(OutputPath)\$(_InstallerTargetFramework)\$(AssemblyName).exe" /> + + + <_FakeOutputPath Include="..\$(OutputPath)\$(_InstallerTargetFramework)\$(AssemblyName).exe" /> + + \ No newline at end of file From 615da9e384bc297950a53d418c7edca2fb03f344 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 03:37:37 +0000 Subject: [PATCH 37/86] Bump Verify.NUnit from 25.3.2 to 26.0.0 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 25.3.2 to 26.0.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/25.3.2...26.0.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 1041f4ba..b3fb01e6 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 7a9cb585ed83a105af773d46f6beb3d0a1842201 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 03:32:33 +0000 Subject: [PATCH 38/86] Bump Verify.NUnit from 26.0.0 to 26.0.1 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.0.0 to 26.0.1. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.0.0...26.0.1) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index b3fb01e6..f9476cad 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 3d5b90e9e0338b18b65eb6b0e8cb12444d371baa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 03:52:37 +0000 Subject: [PATCH 39/86] Bump NUnit3TestAdapter from 4.5.0 to 4.6.0 in /src Bumps [NUnit3TestAdapter](https://github.com/nunit/nunit3-vs-adapter) from 4.5.0 to 4.6.0. - [Release notes](https://github.com/nunit/nunit3-vs-adapter/releases) - [Commits](https://github.com/nunit/nunit3-vs-adapter/compare/V4.5.0...V4.6.0) --- updated-dependencies: - dependency-name: NUnit3TestAdapter dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index f9476cad..78bb974b 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -22,7 +22,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 61e582027199f8ac99bb27937fe771cc0d51d214 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 03:53:11 +0000 Subject: [PATCH 40/86] Bump Verify.NUnit from 26.0.1 to 26.1.2 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.0.1 to 26.1.2. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.0.1...26.1.2) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index f9476cad..32097538 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 6ef3461d374464b0b11018bc7a9e9a7a58cf578f Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Sun, 28 Jul 2024 23:45:33 +0200 Subject: [PATCH 41/86] GitHubSync update --- deployment/cake/lib-msbuild.cake | 4 ++-- deployment/cake/tasks.cake | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/cake/lib-msbuild.cake b/deployment/cake/lib-msbuild.cake index 3b90ba1d..dab8c2a1 100644 --- a/deployment/cake/lib-msbuild.cake +++ b/deployment/cake/lib-msbuild.cake @@ -1,5 +1,5 @@ -#addin "nuget:?package=Cake.Issues&version=4.8.1" -#addin "nuget:?package=Cake.Issues.MsBuild&version=4.8.1" +#addin "nuget:?package=Cake.Issues&version=4.9.0" +#addin "nuget:?package=Cake.Issues.MsBuild&version=4.9.0" #addin "nuget:?package=System.Configuration.ConfigurationManager&version=8.0.0" #tool "nuget:?package=MSBuild.Extension.Pack&version=1.9.1" diff --git a/deployment/cake/tasks.cake b/deployment/cake/tasks.cake index ff26d1c9..6ff00886 100644 --- a/deployment/cake/tasks.cake +++ b/deployment/cake/tasks.cake @@ -36,7 +36,7 @@ // It probably means the tool is not correctly installed. // `dotnet tool install --global dotnet-sonarscanner --ignore-failed-sources` //#tool "nuget:?package=MSBuild.SonarQube.Runner.Tool&version=4.8.0" -#tool "nuget:?package=dotnet-sonarscanner&version=7.1.0" +#tool "nuget:?package=dotnet-sonarscanner&version=7.1.1" //------------------------------------------------------------- // BACKWARDS COMPATIBILITY CODE - START From cf1eeb1323a668e64c76390a8efad6eacd6836a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 03:16:43 +0000 Subject: [PATCH 42/86] Bump Verify.NUnit from 26.1.2 to 26.1.5 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.1.2 to 26.1.5. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/commits) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 3d030b18..79e24121 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 2dc68cdbbdc9a1705c866ca55d37c8ecd3757927 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 04:04:25 +0000 Subject: [PATCH 43/86] Bump Verify.NUnit from 26.1.5 to 26.1.6 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.1.5 to 26.1.6. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.1.5...26.1.6) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 79e24121..bd2c5bf3 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From 0f0428ef0a89e321984f4d8dafd80033d351d9b1 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Sat, 3 Aug 2024 13:18:38 +0200 Subject: [PATCH 44/86] GitHubSync update --- deployment/cake/lib-msbuild.cake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/cake/lib-msbuild.cake b/deployment/cake/lib-msbuild.cake index dab8c2a1..b98443a6 100644 --- a/deployment/cake/lib-msbuild.cake +++ b/deployment/cake/lib-msbuild.cake @@ -1,5 +1,5 @@ -#addin "nuget:?package=Cake.Issues&version=4.9.0" -#addin "nuget:?package=Cake.Issues.MsBuild&version=4.9.0" +#addin "nuget:?package=Cake.Issues&version=4.10.0" +#addin "nuget:?package=Cake.Issues.MsBuild&version=4.10.0" #addin "nuget:?package=System.Configuration.ConfigurationManager&version=8.0.0" #tool "nuget:?package=MSBuild.Extension.Pack&version=1.9.1" From 3fcfbeaf138a21300a35c2762b8e7ab1da01d488 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 03:42:41 +0000 Subject: [PATCH 45/86] Bump Verify.NUnit from 26.1.6 to 26.2.0 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.1.6 to 26.2.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.1.6...26.2.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index bd2c5bf3..7cf3969a 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -28,7 +28,7 @@ - + From f0f8b67b42c84237996250cd2404a3ce4857786a Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Tue, 13 Aug 2024 23:30:22 +0200 Subject: [PATCH 46/86] GitHubSync update --- deployment/cake/sourcecontrol-github.cake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/cake/sourcecontrol-github.cake b/deployment/cake/sourcecontrol-github.cake index b7c03bfd..272080d2 100644 --- a/deployment/cake/sourcecontrol-github.cake +++ b/deployment/cake/sourcecontrol-github.cake @@ -1,4 +1,4 @@ -#addin "nuget:?package=Cake.GitHub&version=0.1.0" +#addin "nuget:?package=Cake.GitHub&version=1.0.0" #addin "nuget:?package=Octokit&version=13.0.1" //------------------------------------------------------------- From 4187d3f98598d30690d7c7d03edb57189f07ab84 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Sat, 17 Aug 2024 16:27:39 +0200 Subject: [PATCH 47/86] Replace wildcards to fix dependabot --- .../Blorc.OpenIdConnect.DemoApp.Server.csproj | 4 ++-- .../Blorc.OpenIdConnect.DemoApp.csproj | 8 ++++---- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 12 ++++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj index 36d78a69..547bee77 100644 --- a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj index 49af6417..0b731af8 100644 --- a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj @@ -5,12 +5,12 @@ - - - + + + - + diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 5b55d010..490ba07f 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -29,18 +29,18 @@ - - + + - - + + - - + + From 634b6b6394d4e189620fa04abc2aeeb255ba21e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:29:18 +0000 Subject: [PATCH 48/86] Bump Microsoft.AspNetCore.Components.WebAssembly.Server in /src Bumps [Microsoft.AspNetCore.Components.WebAssembly.Server](https://github.com/dotnet/aspnetcore) from 8.0.0 to 8.0.8. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.0...v8.0.8) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.Server dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.Server.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj index 547bee77..33470b34 100644 --- a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj @@ -6,7 +6,7 @@ - + From c1697dd0a976d94c4264ff92d5221009e087b5e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:30:17 +0000 Subject: [PATCH 49/86] Bump Microsoft.AspNetCore.Components.WebAssembly.DevServer in /src Bumps [Microsoft.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/aspnetcore) from 8.0.0 to 8.0.8. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.0...v8.0.8) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.DevServer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj index 0b731af8..c7899d5c 100644 --- a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj @@ -6,7 +6,7 @@ - + From a68a2cceed3b0a96dd5f1231a607c0fa45c3ff20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:31:36 +0000 Subject: [PATCH 50/86] Bump Microsoft.AspNetCore.Components.WebAssembly.Authentication in /src Bumps [Microsoft.AspNetCore.Components.WebAssembly.Authentication](https://github.com/dotnet/aspnetcore) from 8.0.0 to 8.0.8. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.0...v8.0.8) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.Authentication dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 490ba07f..7e107fc1 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -30,16 +30,16 @@ - + - + - + From adf8c34f7e79e71c4d575af327aababb81e5bccf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:32:00 +0000 Subject: [PATCH 51/86] Bump Microsoft.AspNetCore.Authentication.JwtBearer in /src Bumps [Microsoft.AspNetCore.Authentication.JwtBearer](https://github.com/dotnet/aspnetcore) from 8.0.0 to 8.0.8. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.0...v8.0.8) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.Server.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj index 33470b34..b8c90299 100644 --- a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj @@ -5,7 +5,7 @@ - + From e20d4264198838c2258182e89ef3c75ae4f30bd8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:32:58 +0000 Subject: [PATCH 52/86] Bump Newtonsoft.Json from 13.0.1 to 13.0.3 in /src Bumps Newtonsoft.Json from 13.0.1 to 13.0.3. --- updated-dependencies: - dependency-name: Newtonsoft.Json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 7cf3969a..de2e983b 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -21,6 +21,7 @@ + all From 414dd14c0491af9cc541645802ef475c901dee24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:40:35 +0000 Subject: [PATCH 53/86] Bump Microsoft.AspNetCore.Components.WebAssembly in /src Bumps [Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore) from 8.0.0 to 8.0.8. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.0...v8.0.8) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj index c7899d5c..42b3aed1 100644 --- a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj @@ -5,7 +5,7 @@ - + From b5f4eec67a6e8c54fba224f2b4df1735290ddb21 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:41:54 +0000 Subject: [PATCH 54/86] Bump Serilog.Sinks.BrowserConsole and Microsoft.AspNetCore.Components.WebAssembly Bumps [Serilog.Sinks.BrowserConsole](https://github.com/serilog/serilog-sinks-browserconsole) and [Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore). These dependencies needed to be updated together. Updates `Serilog.Sinks.BrowserConsole` from 2.0.0 to 8.0.0 - [Release notes](https://github.com/serilog/serilog-sinks-browserconsole/releases) - [Commits](https://github.com/serilog/serilog-sinks-browserconsole/compare/v2.0.0...v8.0.0) Updates `Microsoft.AspNetCore.Components.WebAssembly` from 8.0.0 to 8.0.7 - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.0...v8.0.7) --- updated-dependencies: - dependency-name: Serilog.Sinks.BrowserConsole dependency-type: direct:production update-type: version-update:semver-major - dependency-name: Microsoft.AspNetCore.Components.WebAssembly dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj index 42b3aed1..691f1154 100644 --- a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj @@ -9,7 +9,7 @@ - + From 95de86fe31139d731b874a38f1c245b555937ccc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:46:09 +0000 Subject: [PATCH 55/86] Bump System.Net.Http.Json from 6.0.1 to 8.0.0 in /src Bumps System.Net.Http.Json from 6.0.1 to 8.0.0. --- updated-dependencies: - dependency-name: System.Net.Http.Json dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 7e107fc1..5ed213b0 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -26,6 +26,7 @@ + From 1d4645e935ffcc6a7cff2035e249aaef26136655 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 03:13:38 +0000 Subject: [PATCH 56/86] Bump Microsoft.AspNetCore.Components.WebAssembly in /src Bumps Microsoft.AspNetCore.Components.WebAssembly from 8.0.0 to 8.0.8. --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 5ed213b0..4568f34a 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -24,6 +24,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive + From 74cc903e28dc072a76fb62286d784aa5636c3ee9 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Mon, 19 Aug 2024 15:10:56 +0200 Subject: [PATCH 57/86] Fix dependency versions --- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 4568f34a..e94f5dd2 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -27,17 +27,16 @@ - - - + + - - + + From 31fb898163141a929136726b6e3a480c95dc0b5f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 03:46:56 +0000 Subject: [PATCH 58/86] Bump Microsoft.NET.Test.Sdk from 17.10.0 to 17.11.0 in /src Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.10.0 to 17.11.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.10.0...v17.11.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index de2e983b..ff0964c3 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -18,7 +18,7 @@ runtime; build; native; contentfiles; analyzers - + From 013454cb1f219dbd5d5970532eebe5bc04148180 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 23 Aug 2024 03:18:27 +0000 Subject: [PATCH 59/86] Bump NUnit from 4.1.0 to 4.2.0 in /src Bumps [NUnit](https://github.com/nunit/nunit) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/nunit/nunit/releases) - [Changelog](https://github.com/nunit/nunit/blob/main/CHANGES.md) - [Commits](https://github.com/nunit/nunit/compare/4.1.0...4.2.0) --- updated-dependencies: - dependency-name: NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index ff0964c3..a6bd899c 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -22,7 +22,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 5ed265aabc294313330ab4aec191b02918eab7f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 04:08:45 +0000 Subject: [PATCH 60/86] Bump NUnit from 4.2.0 to 4.2.1 in /src Bumps [NUnit](https://github.com/nunit/nunit) from 4.2.0 to 4.2.1. - [Release notes](https://github.com/nunit/nunit/releases) - [Changelog](https://github.com/nunit/nunit/blob/main/CHANGES.md) - [Commits](https://github.com/nunit/nunit/compare/4.2.0...4.2.1) --- updated-dependencies: - dependency-name: NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index a6bd899c..172ddfd6 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -22,7 +22,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From c5a5ba95279991c2d126aef9a049d4109ee0055e Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Wed, 28 Aug 2024 13:06:18 +0200 Subject: [PATCH 61/86] GitHubSync update --- deployment/cake/lib-msbuild.cake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/cake/lib-msbuild.cake b/deployment/cake/lib-msbuild.cake index b98443a6..8dcdd2f3 100644 --- a/deployment/cake/lib-msbuild.cake +++ b/deployment/cake/lib-msbuild.cake @@ -1,5 +1,5 @@ -#addin "nuget:?package=Cake.Issues&version=4.10.0" -#addin "nuget:?package=Cake.Issues.MsBuild&version=4.10.0" +#addin "nuget:?package=Cake.Issues&version=4.10.1" +#addin "nuget:?package=Cake.Issues.MsBuild&version=4.10.1" #addin "nuget:?package=System.Configuration.ConfigurationManager&version=8.0.0" #tool "nuget:?package=MSBuild.Extension.Pack&version=1.9.1" From 9d073431a6f533cd9c370c220f88649bc1533bf0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 03:31:32 +0000 Subject: [PATCH 62/86] Bump NUnit from 4.2.1 to 4.2.2 in /src Bumps [NUnit](https://github.com/nunit/nunit) from 4.2.1 to 4.2.2. - [Release notes](https://github.com/nunit/nunit/releases) - [Changelog](https://github.com/nunit/nunit/blob/main/CHANGES.md) - [Commits](https://github.com/nunit/nunit/compare/4.2.1...4.2.2) --- updated-dependencies: - dependency-name: NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 172ddfd6..bd329ec4 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -22,7 +22,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 49378afc7b20fe5701deb8a13b28a99c65d4fa72 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 03:26:51 +0000 Subject: [PATCH 63/86] Bump Verify.NUnit from 26.2.0 to 26.3.1 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.2.0 to 26.3.1. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.2.0...26.3.1) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index bd329ec4..17786ae0 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -29,7 +29,7 @@ - + From 607b1365dede07b62ca1d98c7cb9d42e79f7ee44 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 04:34:52 +0000 Subject: [PATCH 64/86] Bump Moq from 4.20.70 to 4.20.71 in /src Bumps [Moq](https://github.com/moq/moq) from 4.20.70 to 4.20.71. - [Release notes](https://github.com/moq/moq/releases) - [Changelog](https://github.com/devlooped/moq/blob/main/changelog.md) - [Commits](https://github.com/moq/moq/compare/v4.20.70...v4.20.71) --- updated-dependencies: - dependency-name: Moq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 17786ae0..6c4a90e4 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -20,7 +20,7 @@ - + From 8f16439b2a423675c14462ede9d8147d0d313ee2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 04:08:26 +0000 Subject: [PATCH 65/86] Bump Microsoft.NET.Test.Sdk from 17.11.0 to 17.11.1 in /src Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.11.0 to 17.11.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.11.0...v17.11.1) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 6c4a90e4..37d03446 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -18,7 +18,7 @@ runtime; build; native; contentfiles; analyzers - + From 4e4db4fe14308e04cedb0c3693ae4592577bf2b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 04:10:06 +0000 Subject: [PATCH 66/86] Bump Verify.NUnit from 26.3.1 to 26.4.0 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.3.1 to 26.4.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.3.1...26.4.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 6c4a90e4..b195c9a8 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -29,7 +29,7 @@ - + From c9c5058f6da695103885920fa81c80636230ffc4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 03:23:52 +0000 Subject: [PATCH 67/86] Bump Moq from 4.20.71 to 4.20.72 in /src Bumps [Moq](https://github.com/moq/moq) from 4.20.71 to 4.20.72. - [Release notes](https://github.com/moq/moq/releases) - [Changelog](https://github.com/devlooped/moq/blob/main/changelog.md) - [Commits](https://github.com/moq/moq/compare/v4.20.71...v4.20.72) --- updated-dependencies: - dependency-name: Moq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 29d5a467..b6a28bbe 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -20,7 +20,7 @@ - + From 82351772ddd5844e19aa380471c460ed38c87bca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 03:24:29 +0000 Subject: [PATCH 68/86] Bump Verify.NUnit from 26.4.0 to 26.4.1 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.4.0 to 26.4.1. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.4.0...26.4.1) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 29d5a467..ad4ed014 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -29,7 +29,7 @@ - + From 69b030e72f5a452d54da5d6f13bd973c8a7ae5a3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 03:55:56 +0000 Subject: [PATCH 69/86] Bump Verify.NUnit from 26.4.1 to 26.4.4 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.4.1 to 26.4.4. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.4.1...26.4.4) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 7e89f80c..13bfc171 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -29,7 +29,7 @@ - + From 0e0a14b7b51b4bb5113aff4f3f7020cfaa4479e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 03:58:57 +0000 Subject: [PATCH 70/86] Bump Verify.NUnit from 26.4.4 to 26.4.5 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.4.4 to 26.4.5. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.4.4...26.4.5) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 13bfc171..81027014 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -29,7 +29,7 @@ - + From 97dfb53123138e952f8219f241a603a559c07e83 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 04:00:29 +0000 Subject: [PATCH 71/86] Bump Fody from 6.8.1 to 6.8.2 in /src Bumps [Fody](https://github.com/Fody/Fody) from 6.8.1 to 6.8.2. - [Release notes](https://github.com/Fody/Fody/releases) - [Commits](https://github.com/Fody/Fody/compare/6.8.1...6.8.2) --- updated-dependencies: - dependency-name: Fody dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.Tests.csproj | 2 +- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 13bfc171..0f14ab93 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -14,7 +14,7 @@ - + runtime; build; native; contentfiles; analyzers diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index e94f5dd2..1b09f9d9 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -20,7 +20,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -30,13 +30,13 @@ - - + + - - + + From b081e5bda266a385b10e99c71ceca7e9db17d0ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 03:37:38 +0000 Subject: [PATCH 72/86] Bump Verify.NUnit from 26.4.5 to 26.5.0 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.4.5 to 26.5.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.4.5...26.5.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 7e3ad53e..803f91c9 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -29,7 +29,7 @@ - + From a92d461655b80bcb642e792b0ccf52e836a6f11c Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Sat, 21 Sep 2024 17:29:03 +0200 Subject: [PATCH 73/86] GitHubSync update --- deployment/cake/lib-generic.cake | 39 ++++++--- deployment/cake/lib-nuget.cake | 14 ++-- deployment/cake/tasks.cake | 4 +- deployment/cake/tests-nunit.cake | 2 +- deployment/cake/tests-variables.cake | 2 + deployment/cake/tests.cake | 115 +++++++++++++++------------ 6 files changed, 102 insertions(+), 74 deletions(-) diff --git a/deployment/cake/lib-generic.cake b/deployment/cake/lib-generic.cake index 7ab65714..c45cb4ae 100644 --- a/deployment/cake/lib-generic.cake +++ b/deployment/cake/lib-generic.cake @@ -517,16 +517,7 @@ private static bool IsDotNetCoreProject(BuildContext buildContext, string projec var lowerCase = line.ToLower(); if (lowerCase.Contains("targetframework")) { - if (lowerCase.Contains("netcore")) - { - isDotNetCore = true; - break; - } - - if (lowerCase.Contains("net5") || - lowerCase.Contains("net6") || - lowerCase.Contains("net7") || - lowerCase.Contains("net8")) + if (IsDotNetCoreTargetFramework(buildContext, lowerCase)) { isDotNetCore = true; break; @@ -542,6 +533,30 @@ private static bool IsDotNetCoreProject(BuildContext buildContext, string projec //------------------------------------------------------------- +private static bool IsDotNetCoreTargetFramework(BuildContext buildContext, string targetFramework) +{ + var lowerCase = targetFramework.ToLower(); + + if (lowerCase.Contains("netcore")) + { + return true; + } + + if (lowerCase.Contains("net5") || + lowerCase.Contains("net6") || + lowerCase.Contains("net7") || + lowerCase.Contains("net8") || + lowerCase.Contains("net9") || + lowerCase.Contains("net10")) + { + return true; + } + + return false; +} + +//------------------------------------------------------------- + private static bool ShouldProcessProject(BuildContext buildContext, string projectName, bool checkDeployment = true) { @@ -660,7 +675,7 @@ private static string CreateInlinedProjectXml(BuildContext buildContext, string //------------------------------------------------------------- -private static List GetProjectRuntimesIdentifiers(BuildContext buildContext, Cake.Core.IO.FilePath solutionOrProjectFileName, List runtimeIdentifiersToInvestigate) +private static List GetProjectRuntimesIdentifiers(BuildContext buildContext, Cake.Core.IO.FilePath solutionOrProjectFileName, IReadOnlyList runtimeIdentifiersToInvestigate) { var projectFileContents = System.IO.File.ReadAllText(solutionOrProjectFileName.FullPath)?.ToLower(); @@ -670,7 +685,7 @@ private static List GetProjectRuntimesIdentifiers(BuildContext buildCont { if (!string.IsNullOrWhiteSpace(runtimeIdentifier)) { - if (!projectFileContents.Contains(runtimeIdentifier.ToLower())) + if (!projectFileContents.Contains(runtimeIdentifier, StringComparison.OrdinalIgnoreCase)) { buildContext.CakeContext.Information("Project '{0}' does not support runtime identifier '{1}', removing from supported runtime identifiers list", solutionOrProjectFileName, runtimeIdentifier); continue; diff --git a/deployment/cake/lib-nuget.cake b/deployment/cake/lib-nuget.cake index 4f5a0bcd..81ebe7a6 100644 --- a/deployment/cake/lib-nuget.cake +++ b/deployment/cake/lib-nuget.cake @@ -54,11 +54,13 @@ private static void RestoreNuGetPackages(BuildContext buildContext, Cake.Core.IO var sources = SplitSeparatedList(buildContext.General.NuGet.PackageSources, ';'); - var runtimeIdentifiers = new List(new [] + var runtimeIdentifiers = new [] { + "win-x86", "win-x64", + "win-arm64", "browser-wasm" - }); + }; var supportedRuntimeIdentifiers = GetProjectRuntimesIdentifiers(buildContext, solutionOrProjectFileName, runtimeIdentifiers); @@ -68,7 +70,7 @@ private static void RestoreNuGetPackages(BuildContext buildContext, Cake.Core.IO //------------------------------------------------------------- -private static void RestoreNuGetPackagesUsingNuGet(BuildContext buildContext, Cake.Core.IO.FilePath solutionOrProjectFileName, List sources, List runtimeIdentifiers) +private static void RestoreNuGetPackagesUsingNuGet(BuildContext buildContext, Cake.Core.IO.FilePath solutionOrProjectFileName, IReadOnlyList sources, IReadOnlyList runtimeIdentifiers) { if (!buildContext.General.NuGet.RestoreUsingNuGet) { @@ -91,7 +93,7 @@ private static void RestoreNuGetPackagesUsingNuGet(BuildContext buildContext, Ca if (sources.Count > 0) { - nuGetRestoreSettings.Source = sources; + nuGetRestoreSettings.Source = sources.ToList(); } buildContext.CakeContext.NuGetRestore(solutionOrProjectFileName, nuGetRestoreSettings); @@ -104,7 +106,7 @@ private static void RestoreNuGetPackagesUsingNuGet(BuildContext buildContext, Ca //------------------------------------------------------------- -private static void RestoreNuGetPackagesUsingDotnetRestore(BuildContext buildContext, Cake.Core.IO.FilePath solutionOrProjectFileName, List sources, List runtimeIdentifiers) +private static void RestoreNuGetPackagesUsingDotnetRestore(BuildContext buildContext, Cake.Core.IO.FilePath solutionOrProjectFileName, IReadOnlyList sources, IReadOnlyList runtimeIdentifiers) { if (!buildContext.General.NuGet.RestoreUsingDotNetRestore) { @@ -141,7 +143,7 @@ private static void RestoreNuGetPackagesUsingDotnetRestore(BuildContext buildCon if (sources.Count > 0) { - restoreSettings.Sources = sources; + restoreSettings.Sources = sources.ToList(); } using (buildContext.CakeContext.UseDiagnosticVerbosity()) diff --git a/deployment/cake/tasks.cake b/deployment/cake/tasks.cake index 6ff00886..a7df9fb1 100644 --- a/deployment/cake/tasks.cake +++ b/deployment/cake/tasks.cake @@ -36,7 +36,7 @@ // It probably means the tool is not correctly installed. // `dotnet tool install --global dotnet-sonarscanner --ignore-failed-sources` //#tool "nuget:?package=MSBuild.SonarQube.Runner.Tool&version=4.8.0" -#tool "nuget:?package=dotnet-sonarscanner&version=7.1.1" +#tool "nuget:?package=dotnet-sonarscanner&version=8.0.3" //------------------------------------------------------------- // BACKWARDS COMPATIBILITY CODE - START @@ -382,9 +382,9 @@ Task("Build") Verbose = false, Silent = true, - // Support waiting for the quality gate ArgumentCustomization = args => args .Append("/d:sonar.qualitygate.wait=true") + .Append("/d:sonar.scanner.scanAll=false") }; if (!string.IsNullOrWhiteSpace(buildContext.General.SonarQube.Organization)) diff --git a/deployment/cake/tests-nunit.cake b/deployment/cake/tests-nunit.cake index fe05b229..c7bdbd79 100644 --- a/deployment/cake/tests-nunit.cake +++ b/deployment/cake/tests-nunit.cake @@ -1,4 +1,4 @@ -#tool "nuget:?package=NUnit.ConsoleRunner&version=3.18.1" +#tool "nuget:?package=NUnit.ConsoleRunner&version=3.18.2" //------------------------------------------------------------- diff --git a/deployment/cake/tests-variables.cake b/deployment/cake/tests-variables.cake index fc9f69dc..82e06acb 100644 --- a/deployment/cake/tests-variables.cake +++ b/deployment/cake/tests-variables.cake @@ -11,6 +11,7 @@ public class TestsContext : BuildContextWithItemsBase public string Framework { get; set; } public string TargetFramework { get; set; } + public string OperatingSystem { get; set; } public string ProcessBit { get; set; } protected override void ValidateContext() @@ -47,6 +48,7 @@ private TestsContext InitializeTestsContext(BuildContext buildContext, IBuildCon Framework = buildContext.BuildServer.GetVariable("TestFramework", "nunit", showValue: true), TargetFramework = buildContext.BuildServer.GetVariable("TestTargetFramework", "", showValue: true), + OperatingSystem = buildContext.BuildServer.GetVariable("TestOperatingSystem", "win", showValue: true), ProcessBit = buildContext.BuildServer.GetVariable("TestProcessBit", "X64", showValue: true) }; diff --git a/deployment/cake/tests.cake b/deployment/cake/tests.cake index a63a5a32..f2cb9dc2 100644 --- a/deployment/cake/tests.cake +++ b/deployment/cake/tests.cake @@ -137,63 +137,70 @@ private static void RunUnitTests(BuildContext buildContext, string projectName) var ranTests = false; var failed = false; - var testTargetFramework = GetTestTargetFramework(buildContext, projectName); + var testTargetFrameworks = GetTestTargetFrameworks(buildContext, projectName); try { - if (IsDotNetCoreProject(buildContext, projectName)) + foreach (var testTargetFramework in testTargetFrameworks) { - buildContext.CakeContext.Information($"Project '{projectName}' is a .NET core project, using 'dotnet test' to run the unit tests"); - - var projectFileName = GetProjectFileName(buildContext, projectName); - - var dotNetTestSettings = new DotNetTestSettings - { - Configuration = buildContext.General.Solution.ConfigurationName, - // Loggers = new [] - // { - // "nunit;LogFilePath=test-result.xml" - // }, - NoBuild = true, - NoLogo = true, - NoRestore = true, - OutputDirectory = System.IO.Path.Combine(GetProjectOutputDirectory(buildContext, projectName), testTargetFramework), - ResultsDirectory = testResultsDirectory - }; - - if (IsNUnitTestProject(buildContext, projectName)) - { - dotNetTestSettings.ArgumentCustomization = args => args - .Append($"-- NUnit.TestOutputXml={testResultsDirectory}"); - } + LogSeparator(buildContext.CakeContext, "Running tests for target framework {0}", testTargetFramework); - if (IsXUnitTestProject(buildContext, projectName)) + if (IsDotNetCoreTargetFramework(buildContext, testTargetFramework)) { - var outputFileName = System.IO.Path.Combine(testResultsDirectory, $"{projectName}.xml"); + buildContext.CakeContext.Information($"Project '{projectName}' is a .NET core project, using 'dotnet test' to run the unit tests"); + + var projectFileName = GetProjectFileName(buildContext, projectName); + + var dotNetTestSettings = new DotNetTestSettings + { + Configuration = buildContext.General.Solution.ConfigurationName, + // Loggers = new [] + // { + // "nunit;LogFilePath=test-result.xml" + // }, + NoBuild = true, + NoLogo = true, + NoRestore = true, + OutputDirectory = System.IO.Path.Combine(GetProjectOutputDirectory(buildContext, projectName), testTargetFramework), + ResultsDirectory = testResultsDirectory + }; + + if (IsNUnitTestProject(buildContext, projectName)) + { + dotNetTestSettings.ArgumentCustomization = args => args + .Append($"-- NUnit.TestOutputXml={testResultsDirectory}"); + } + + if (IsXUnitTestProject(buildContext, projectName)) + { + var outputFileName = System.IO.Path.Combine(testResultsDirectory, $"{projectName}.xml"); + + dotNetTestSettings.ArgumentCustomization = args => args + .Append($"-l:trx;LogFileName={outputFileName}"); + } + + var processBit = buildContext.Tests.ProcessBit.ToLower(); + if (!string.IsNullOrWhiteSpace(processBit)) + { + dotNetTestSettings.Runtime = $"{buildContext.Tests.OperatingSystem}-{processBit}"; + } + + buildContext.CakeContext.Information($"Runtime: '{dotNetTestSettings.Runtime}'"); + + buildContext.CakeContext.DotNetTest(projectFileName, dotNetTestSettings); - dotNetTestSettings.ArgumentCustomization = args => args - .Append($"-l:trx;LogFileName={outputFileName}"); + ranTests = true; } - - var processBit = buildContext.Tests.ProcessBit.ToLower(); - if (!string.IsNullOrWhiteSpace(processBit)) + else { - dotNetTestSettings.Runtime = $"win-{processBit}"; - } - - buildContext.CakeContext.DotNetTest(projectFileName, dotNetTestSettings); - - ranTests = true; - } - else - { - buildContext.CakeContext.Information($"Project '{projectName}' is a .NET project, using '{buildContext.Tests.Framework} runner' to run the unit tests"); + buildContext.CakeContext.Information($"Project '{projectName}' is a .NET project, using '{buildContext.Tests.Framework} runner' to run the unit tests"); - if (IsNUnitTestProject(buildContext, projectName)) - { - RunTestsUsingNUnit(buildContext, projectName, testTargetFramework, testResultsDirectory); + if (IsNUnitTestProject(buildContext, projectName)) + { + RunTestsUsingNUnit(buildContext, projectName, testTargetFramework, testResultsDirectory); - ranTests = true; + ranTests = true; + } } } } @@ -273,7 +280,7 @@ private static bool IsXUnitTestProject(BuildContext buildContext, string project //------------------------------------------------------------- -private static string GetTestTargetFramework(BuildContext buildContext, string projectName) +private static IReadOnlyList GetTestTargetFrameworks(BuildContext buildContext, string projectName) { // Step 1: if defined, use defined value var testTargetFramework = buildContext.Tests.TargetFramework; @@ -281,20 +288,22 @@ private static string GetTestTargetFramework(BuildContext buildContext, string p { buildContext.CakeContext.Information("Using test target framework '{0}', specified via the configuration", testTargetFramework); - return testTargetFramework; + return new [] + { + testTargetFramework + }; } - buildContext.CakeContext.Information("Test target framework not specified, auto detecting test target framework"); + buildContext.CakeContext.Information("Test target framework not specified, auto detecting test target frameworks"); var targetFrameworks = GetTargetFrameworks(buildContext, projectName); - testTargetFramework = targetFrameworks.FirstOrDefault(); - buildContext.CakeContext.Information("Auto detected test target framework '{0}'", testTargetFramework); + buildContext.CakeContext.Information("Auto detected test target frameworks '{0}'", string.Join(", ", targetFrameworks)); - if (string.IsNullOrWhiteSpace(testTargetFramework)) + if (targetFrameworks.Length == 0) { throw new Exception(string.Format("Test target framework could not automatically be detected for project '{0]'", projectName)); } - return testTargetFramework; + return targetFrameworks; } \ No newline at end of file From a15286e01ea78dcd3e34a2d772afa85dcaa218ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 03:50:02 +0000 Subject: [PATCH 74/86] Bump Verify.NUnit from 26.5.0 to 26.6.0 in /src Bumps [Verify.NUnit](https://github.com/VerifyTests/Verify) from 26.5.0 to 26.6.0. - [Release notes](https://github.com/VerifyTests/Verify/releases) - [Commits](https://github.com/VerifyTests/Verify/compare/26.5.0...26.6.0) --- updated-dependencies: - dependency-name: Verify.NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj index 803f91c9..3bcd0a3e 100644 --- a/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj +++ b/src/Blorc.OpenIdConnect.Tests/Blorc.OpenIdConnect.Tests.csproj @@ -29,7 +29,7 @@ - + From e81f842372fd6300ecbaec5d4b60b6d57d503c64 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 03:15:58 +0000 Subject: [PATCH 75/86] Bump Microsoft.AspNetCore.Components.WebAssembly.Server in /src Bumps [Microsoft.AspNetCore.Components.WebAssembly.Server](https://github.com/dotnet/aspnetcore) from 8.0.8 to 8.0.10. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.Server dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.Server.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj index b8c90299..a8cf392f 100644 --- a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj @@ -6,7 +6,7 @@ - + From e8748c7caf293703febe2d57b764db76f99e4a84 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 03:17:30 +0000 Subject: [PATCH 76/86] Bump Microsoft.Extensions.Http from 8.0.0 to 8.0.1 in /src Bumps [Microsoft.Extensions.Http](https://github.com/dotnet/runtime) from 8.0.0 to 8.0.1. - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1) --- updated-dependencies: - dependency-name: Microsoft.Extensions.Http dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.csproj | 2 +- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj index 691f1154..692a7a74 100644 --- a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 1b09f9d9..5a895494 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -31,17 +31,17 @@ - + - + - + From 0f420fb40e61d055b1a57ffa117f66ea9db148a3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 03:19:49 +0000 Subject: [PATCH 77/86] Bump Microsoft.AspNetCore.Components.WebAssembly in /src Bumps [Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore) from 8.0.8 to 8.0.10. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj index 691f1154..6e4e6c59 100644 --- a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj @@ -5,7 +5,7 @@ - + From b7053057deaa233c0fbd1f1db14df8a2412cb535 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 03:20:36 +0000 Subject: [PATCH 78/86] Bump System.Net.Http.Json from 8.0.0 to 8.0.1 in /src Bumps [System.Net.Http.Json](https://github.com/dotnet/runtime) from 8.0.0 to 8.0.1. - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1) --- updated-dependencies: - dependency-name: System.Net.Http.Json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj index 692a7a74..62738d80 100644 --- a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj @@ -10,7 +10,7 @@ - + From ac70615e916377013ffacbd1f036927d3999979b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 03:21:40 +0000 Subject: [PATCH 79/86] Bump Microsoft.AspNetCore.Authentication.JwtBearer in /src Bumps [Microsoft.AspNetCore.Authentication.JwtBearer](https://github.com/dotnet/aspnetcore) from 8.0.8 to 8.0.10. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.Server.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj index a8cf392f..0c12209a 100644 --- a/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp.Server/Blorc.OpenIdConnect.DemoApp.Server.csproj @@ -5,7 +5,7 @@ - + From 55a8652f8c7fc44c079e33b75388cfa02bef3f43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 03:22:16 +0000 Subject: [PATCH 80/86] Bump Microsoft.AspNetCore.Components.WebAssembly.Authentication in /src Bumps [Microsoft.AspNetCore.Components.WebAssembly.Authentication](https://github.com/dotnet/aspnetcore) from 8.0.8 to 8.0.10. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.Authentication dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 5a895494..37de178c 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -30,17 +30,17 @@ - + - + - + From 31bd56c429d126a1ab1743ddee9cdf14262d6144 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 03:23:32 +0000 Subject: [PATCH 81/86] Bump Microsoft.AspNetCore.Components.WebAssembly.DevServer in /src Bumps [Microsoft.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/aspnetcore) from 8.0.8 to 8.0.10. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.DevServer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../Blorc.OpenIdConnect.DemoApp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj index 44f83b99..1049c348 100644 --- a/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj +++ b/src/Blorc.OpenIdConnect.DemoApp/Blorc.OpenIdConnect.DemoApp.csproj @@ -6,7 +6,7 @@ - + From 69aed64d7959c326948fa2b0749f78d02db7ddb4 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Wed, 9 Oct 2024 11:43:32 +0200 Subject: [PATCH 82/86] GitHubSync update --- .github/workflows/build-and-test.yml | 2 +- deployment/cake/lib-msbuild.cake | 6 +++--- deployment/cake/tasks.cake | 2 +- deployment/cake/tests-nunit.cake | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 32f406b9..4ea9aa96 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -16,7 +16,7 @@ jobs: runs-on: windows-latest # Required for some (WPF) projects steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 id: checkout with: fetch-depth: 0 diff --git a/deployment/cake/lib-msbuild.cake b/deployment/cake/lib-msbuild.cake index 8dcdd2f3..bf3b6707 100644 --- a/deployment/cake/lib-msbuild.cake +++ b/deployment/cake/lib-msbuild.cake @@ -1,6 +1,6 @@ -#addin "nuget:?package=Cake.Issues&version=4.10.1" -#addin "nuget:?package=Cake.Issues.MsBuild&version=4.10.1" -#addin "nuget:?package=System.Configuration.ConfigurationManager&version=8.0.0" +#addin "nuget:?package=Cake.Issues&version=4.11.0" +#addin "nuget:?package=Cake.Issues.MsBuild&version=4.11.0" +#addin "nuget:?package=System.Configuration.ConfigurationManager&version=8.0.1" #tool "nuget:?package=MSBuild.Extension.Pack&version=1.9.1" diff --git a/deployment/cake/tasks.cake b/deployment/cake/tasks.cake index a7df9fb1..89d90d7d 100644 --- a/deployment/cake/tasks.cake +++ b/deployment/cake/tasks.cake @@ -36,7 +36,7 @@ // It probably means the tool is not correctly installed. // `dotnet tool install --global dotnet-sonarscanner --ignore-failed-sources` //#tool "nuget:?package=MSBuild.SonarQube.Runner.Tool&version=4.8.0" -#tool "nuget:?package=dotnet-sonarscanner&version=8.0.3" +#tool "nuget:?package=dotnet-sonarscanner&version=9.0.0" //------------------------------------------------------------- // BACKWARDS COMPATIBILITY CODE - START diff --git a/deployment/cake/tests-nunit.cake b/deployment/cake/tests-nunit.cake index c7bdbd79..b5dad6e3 100644 --- a/deployment/cake/tests-nunit.cake +++ b/deployment/cake/tests-nunit.cake @@ -1,4 +1,4 @@ -#tool "nuget:?package=NUnit.ConsoleRunner&version=3.18.2" +#tool "nuget:?package=NUnit.ConsoleRunner&version=3.18.3" //------------------------------------------------------------- From ee273863fb21fc6d7ef115ecc71a510c57408f02 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Wed, 9 Oct 2024 13:33:36 +0200 Subject: [PATCH 83/86] Remove .net 7 support --- src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index 37de178c..d4cf0251 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -1,6 +1,6 @@  - net6.0;net7.0;net8.0 + net6.0;net8.0 Blorc.OpenIdConnect Blorc.OpenIdConnect Blorc.OpenIdConnect From 4ca7b1f0923623329618df7ad06421ee270964d5 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Wed, 9 Oct 2024 13:34:16 +0200 Subject: [PATCH 84/86] Bump oidc-client-ts to 2.4.1 --- src/Blorc.OpenIdConnect/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect/package.json b/src/Blorc.OpenIdConnect/package.json index aed9740e..2dd6a981 100644 --- a/src/Blorc.OpenIdConnect/package.json +++ b/src/Blorc.OpenIdConnect/package.json @@ -5,6 +5,6 @@ "devDependencies": { }, "dependencies": { - "oidc-client-ts": "2.4.0" + "oidc-client-ts": "2.4.1" } } \ No newline at end of file From d3730c84ebc3265b9d8f68055dc9c2dbaba303f0 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Wed, 9 Oct 2024 13:34:21 +0200 Subject: [PATCH 85/86] Update file --- src/Blorc.OpenIdConnect/wwwroot/oidc-client.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blorc.OpenIdConnect/wwwroot/oidc-client.min.js b/src/Blorc.OpenIdConnect/wwwroot/oidc-client.min.js index c4cf14eb..eb57ca41 100644 --- a/src/Blorc.OpenIdConnect/wwwroot/oidc-client.min.js +++ b/src/Blorc.OpenIdConnect/wwwroot/oidc-client.min.js @@ -1,2 +1,2 @@ -"use strict";var oidc=(()=>{var st=Object.create;var ge=Object.defineProperty;var nt=Object.getOwnPropertyDescriptor;var ot=Object.getOwnPropertyNames;var at=Object.getPrototypeOf,ct=Object.prototype.hasOwnProperty;var Ne=(l=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(l,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):l)(function(l){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+l+'" is not supported')});var se=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),lt=(l,e)=>{for(var t in e)ge(l,t,{get:e[t],enumerable:!0})},He=(l,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ot(e))!ct.call(l,i)&&i!==t&&ge(l,i,{get:()=>e[i],enumerable:!(r=nt(e,i))||r.enumerable});return l};var ue=(l,e,t)=>(t=l!=null?st(at(l)):{},He(e||!l||!l.__esModule?ge(t,"default",{value:l,enumerable:!0}):t,l)),dt=l=>He(ge({},"__esModule",{value:!0}),l);var Le=se(()=>{});var ne=se((pe,je)=>{(function(l,e){typeof pe=="object"?je.exports=pe=e():typeof define=="function"&&define.amd?define([],e):l.CryptoJS=e()})(pe,function(){var l=l||function(e,t){var r;if(typeof window<"u"&&window.crypto&&(r=window.crypto),typeof self<"u"&&self.crypto&&(r=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(r=globalThis.crypto),!r&&typeof window<"u"&&window.msCrypto&&(r=window.msCrypto),!r&&typeof global<"u"&&global.crypto&&(r=global.crypto),!r&&typeof Ne=="function")try{r=Le()}catch{}var i=function(){if(r){if(typeof r.getRandomValues=="function")try{return r.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof r.randomBytes=="function")try{return r.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},n=Object.create||function(){function a(){}return function(u){var m;return a.prototype=u,m=new a,a.prototype=null,m}}(),s={},o=s.lib={},c=o.Base=function(){return{extend:function(a){var u=n(this);return a&&u.mixIn(a),(!u.hasOwnProperty("init")||this.init===u.init)&&(u.init=function(){u.$super.init.apply(this,arguments)}),u.init.prototype=u,u.$super=this,u},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var u in a)a.hasOwnProperty(u)&&(this[u]=a[u]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),d=o.WordArray=c.extend({init:function(a,u){a=this.words=a||[],u!=t?this.sigBytes=u:this.sigBytes=a.length*4},toString:function(a){return(a||f).stringify(this)},concat:function(a){var u=this.words,m=a.words,w=this.sigBytes,y=a.sigBytes;if(this.clamp(),w%4)for(var S=0;S>>2]>>>24-S%4*8&255;u[w+S>>>2]|=C<<24-(w+S)%4*8}else for(var R=0;R>>2]=m[R>>>2];return this.sigBytes+=y,this},clamp:function(){var a=this.words,u=this.sigBytes;a[u>>>2]&=4294967295<<32-u%4*8,a.length=e.ceil(u/4)},clone:function(){var a=c.clone.call(this);return a.words=this.words.slice(0),a},random:function(a){for(var u=[],m=0;m>>2]>>>24-y%4*8&255;w.push((S>>>4).toString(16)),w.push((S&15).toString(16))}return w.join("")},parse:function(a){for(var u=a.length,m=[],w=0;w>>3]|=parseInt(a.substr(w,2),16)<<24-w%8*4;return new d.init(m,u/2)}},p=h.Latin1={stringify:function(a){for(var u=a.words,m=a.sigBytes,w=[],y=0;y>>2]>>>24-y%4*8&255;w.push(String.fromCharCode(S))}return w.join("")},parse:function(a){for(var u=a.length,m=[],w=0;w>>2]|=(a.charCodeAt(w)&255)<<24-w%4*8;return new d.init(m,u)}},_=h.Utf8={stringify:function(a){try{return decodeURIComponent(escape(p.stringify(a)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(a){return p.parse(unescape(encodeURIComponent(a)))}},b=o.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(a){typeof a=="string"&&(a=_.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(a){var u,m=this._data,w=m.words,y=m.sigBytes,S=this.blockSize,C=S*4,R=y/C;a?R=e.ceil(R):R=e.max((R|0)-this._minBufferSize,0);var P=R*S,H=e.min(P*4,y);if(P){for(var L=0;L{(function(l,e){typeof he=="object"?Fe.exports=he=e(ne()):typeof define=="function"&&define.amd?define(["./core"],e):e(l.CryptoJS)})(he,function(l){return function(e){var t=l,r=t.lib,i=r.WordArray,n=r.Hasher,s=t.algo,o=[],c=[];(function(){function f(v){for(var x=e.sqrt(v),a=2;a<=x;a++)if(!(v%a))return!1;return!0}function p(v){return(v-(v|0))*4294967296|0}for(var _=2,b=0;b<64;)f(_)&&(b<8&&(o[b]=p(e.pow(_,1/2))),c[b]=p(e.pow(_,1/3)),b++),_++})();var d=[],h=s.SHA256=n.extend({_doReset:function(){this._hash=new i.init(o.slice(0))},_doProcessBlock:function(f,p){for(var _=this._hash.words,b=_[0],v=_[1],x=_[2],a=_[3],u=_[4],m=_[5],w=_[6],y=_[7],S=0;S<64;S++){if(S<16)d[S]=f[p+S]|0;else{var C=d[S-15],R=(C<<25|C>>>7)^(C<<14|C>>>18)^C>>>3,P=d[S-2],H=(P<<15|P>>>17)^(P<<13|P>>>19)^P>>>10;d[S]=R+d[S-7]+H+d[S-16]}var L=u&m^~u&w,re=b&v^b&x^v&x,Ee=(b<<30|b>>>2)^(b<<19|b>>>13)^(b<<10|b>>>22),ie=(u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25),de=y+ie+L+c[S]+d[S],Te=Ee+re;y=w,w=m,m=u,u=a+de|0,a=x,x=v,v=b,b=de+Te|0}_[0]=_[0]+b|0,_[1]=_[1]+v|0,_[2]=_[2]+x|0,_[3]=_[3]+a|0,_[4]=_[4]+u|0,_[5]=_[5]+m|0,_[6]=_[6]+w|0,_[7]=_[7]+y|0},_doFinalize:function(){var f=this._data,p=f.words,_=this._nDataBytes*8,b=f.sigBytes*8;return p[b>>>5]|=128<<24-b%32,p[(b+64>>>9<<4)+14]=e.floor(_/4294967296),p[(b+64>>>9<<4)+15]=_,f.sigBytes=p.length*4,this._process(),this._hash},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f}});t.SHA256=n._createHelper(h),t.HmacSHA256=n._createHmacHelper(h)}(Math),l.SHA256})});var De=se((fe,Je)=>{(function(l,e){typeof fe=="object"?Je.exports=fe=e(ne()):typeof define=="function"&&define.amd?define(["./core"],e):e(l.CryptoJS)})(fe,function(l){return function(){var e=l,t=e.lib,r=t.WordArray,i=e.enc,n=i.Base64={stringify:function(o){var c=o.words,d=o.sigBytes,h=this._map;o.clamp();for(var f=[],p=0;p>>2]>>>24-p%4*8&255,b=c[p+1>>>2]>>>24-(p+1)%4*8&255,v=c[p+2>>>2]>>>24-(p+2)%4*8&255,x=_<<16|b<<8|v,a=0;a<4&&p+a*.75>>6*(3-a)&63));var u=h.charAt(64);if(u)for(;f.length%4;)f.push(u);return f.join("")},parse:function(o){var c=o.length,d=this._map,h=this._reverseMap;if(!h){h=this._reverseMap=[];for(var f=0;f>>6-p%4*2,v=_|b;h[f>>>2]|=v<<24-f%4*8,f++}return r.create(h,f)}}(),l.enc.Base64})});var $e=se((_e,Ke)=>{(function(l,e){typeof _e=="object"?Ke.exports=_e=e(ne()):typeof define=="function"&&define.amd?define(["./core"],e):e(l.CryptoJS)})(_e,function(l){return l.enc.Utf8})});var Et={};lt(Et,{AccessTokenEvents:()=>Q,CheckSessionIFrame:()=>V,ErrorResponse:()=>E,ErrorTimeout:()=>q,InMemoryWebStorage:()=>j,Log:()=>D,Logger:()=>g,MetadataService:()=>G,OidcClient:()=>ce,OidcClientSettingsStore:()=>N,SessionMonitor:()=>Z,SigninResponse:()=>J,SigninState:()=>M,SignoutResponse:()=>Y,State:()=>T,User:()=>W,UserManager:()=>We,UserManagerSettingsStore:()=>te,Version:()=>et,WebStorageStateStore:()=>B});var ze=ue(ne()),Qe=ue(Be()),Ue=ue(De()),Ve=ue($e());var gt={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},A,O,D=(n=>(n[n.NONE=0]="NONE",n[n.ERROR=1]="ERROR",n[n.WARN=2]="WARN",n[n.INFO=3]="INFO",n[n.DEBUG=4]="DEBUG",n))(D||{});(r=>{function l(){A=3,O=gt}r.reset=l;function e(i){if(!(0<=i&&i<=4))throw new Error("Invalid log level");A=i}r.setLevel=e;function t(i){O=i}r.setLogger=t})(D||(D={}));var g=class{constructor(e){this._name=e}debug(...e){A>=4&&O.debug(g._format(this._name,this._method),...e)}info(...e){A>=3&&O.info(g._format(this._name,this._method),...e)}warn(...e){A>=2&&O.warn(g._format(this._name,this._method),...e)}error(...e){A>=1&&O.error(g._format(this._name,this._method),...e)}throw(e){throw this.error(e),e}create(e){let t=Object.create(this);return t._method=e,t.debug("begin"),t}static createStatic(e,t){let r=new g(`${e}.${t}`);return r.debug("begin"),r}static _format(e,t){let r=`[${e}]`;return t?`${r} ${t}:`:r}static debug(e,...t){A>=4&&O.debug(g._format(e),...t)}static info(e,...t){A>=3&&O.info(g._format(e),...t)}static warn(e,...t){A>=2&&O.warn(g._format(e),...t)}static error(e,...t){A>=1&&O.error(g._format(e),...t)}};D.reset();var ut="10000000-1000-4000-8000-100000000000",I=class{static _randomWord(){return ze.default.lib.WordArray.random(1).words[0]}static generateUUIDv4(){return ut.replace(/[018]/g,t=>(+t^I._randomWord()&15>>+t/4).toString(16)).replace(/-/g,"")}static generateCodeVerifier(){return I.generateUUIDv4()+I.generateUUIDv4()+I.generateUUIDv4()}static generateCodeChallenge(e){try{let t=(0,Qe.default)(e);return Ue.default.stringify(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}catch(t){throw g.error("CryptoUtils.generateCodeChallenge",t),t}}static generateBasicAuth(e,t){let r=Ve.default.parse([e,t].join(":"));return Ue.default.stringify(r)}};var U=class{constructor(e){this._name=e;this._logger=new g(`Event('${this._name}')`);this._callbacks=[]}addHandler(e){return this._callbacks.push(e),()=>this.removeHandler(e)}removeHandler(e){let t=this._callbacks.lastIndexOf(e);t>=0&&this._callbacks.splice(t,1)}raise(...e){this._logger.debug("raise:",...e);for(let t of this._callbacks)t(...e)}};function Ae(l){this.message=l}Ae.prototype=new Error,Ae.prototype.name="InvalidCharacterError";var Ge=typeof window<"u"&&window.atob&&window.atob.bind(window)||function(l){var e=String(l).replace(/=+$/,"");if(e.length%4==1)throw new Ae("'atob' failed: The string to be decoded is not correctly encoded.");for(var t,r,i=0,n=0,s="";r=e.charAt(n++);~r&&(t=i%4?64*t+r:r,i++%4)?s+=String.fromCharCode(255&t>>(-2*i&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return s};function pt(l){var e=l.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Ge(t).replace(/(.)/g,function(r,i){var n=i.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}(e)}catch{return Ge(e)}}function me(l){this.message=l}function ht(l,e){if(typeof l!="string")throw new me("Invalid token specified");var t=(e=e||{}).header===!0?0:1;try{return JSON.parse(pt(l.split(".")[t]))}catch(r){throw new me("Invalid token specified: "+r.message)}}me.prototype=new Error,me.prototype.name="InvalidTokenError";var Xe=ht;var K=class{static decode(e){try{return Xe(e)}catch(t){throw g.error("JwtUtils.decode",t),t}}};var oe=class{static center({...e}){var t,r,i;return e.width==null&&(e.width=(t=[800,720,600,480].find(n=>n<=window.outerWidth/1.618))!=null?t:360),(r=e.left)!=null||(e.left=Math.max(0,Math.round(window.screenX+(window.outerWidth-e.width)/2))),e.height!=null&&((i=e.top)!=null||(e.top=Math.max(0,Math.round(window.screenY+(window.outerHeight-e.height)/2)))),e}static serialize(e){return Object.entries(e).filter(([,t])=>t!=null).map(([t,r])=>`${t}=${typeof r!="boolean"?r:r?"yes":"no"}`).join(",")}};var k=class extends U{constructor(){super(...arguments);this._logger=new g(`Timer('${this._name}')`);this._timerHandle=null;this._expiration=0;this._callback=()=>{let t=this._expiration-k.getEpochTime();this._logger.debug("timer completes in",t),this._expiration<=k.getEpochTime()&&(this.cancel(),super.raise())}}static getEpochTime(){return Math.floor(Date.now()/1e3)}init(t){let r=this._logger.create("init");t=Math.max(Math.floor(t),1);let i=k.getEpochTime()+t;if(this.expiration===i&&this._timerHandle){r.debug("skipping since already initialized for expiration at",this.expiration);return}this.cancel(),r.debug("using duration",t),this._expiration=i;let n=Math.min(t,5);this._timerHandle=setInterval(this._callback,n*1e3)}get expiration(){return this._expiration}cancel(){this._logger.create("cancel"),this._timerHandle&&(clearInterval(this._timerHandle),this._timerHandle=null)}};var $=class{static readParams(e,t="query"){if(!e)throw new TypeError("Invalid URL");let i=new URL(e,"http://127.0.0.1")[t==="fragment"?"hash":"search"];return new URLSearchParams(i.slice(1))}},ae=";";var E=class extends Error{constructor(t,r){var i,n,s;super(t.error_description||t.error||"");this.form=r;this.name="ErrorResponse";if(!t.error)throw g.error("ErrorResponse","No error passed"),new Error("No error passed");this.error=t.error,this.error_description=(i=t.error_description)!=null?i:null,this.error_uri=(n=t.error_uri)!=null?n:null,this.state=t.userState,this.session_state=(s=t.session_state)!=null?s:null,this.url_state=t.url_state}};var q=class extends Error{constructor(t){super(t);this.name="ErrorTimeout"}};var Q=class{constructor(e){this._logger=new g("AccessTokenEvents");this._expiringTimer=new k("Access token expiring");this._expiredTimer=new k("Access token expired");this._expiringNotificationTimeInSeconds=e.expiringNotificationTimeInSeconds}load(e){let t=this._logger.create("load");if(e.access_token&&e.expires_in!==void 0){let r=e.expires_in;if(t.debug("access token present, remaining duration:",r),r>0){let n=r-this._expiringNotificationTimeInSeconds;n<=0&&(n=1),t.debug("registering expiring timer, raising in",n,"seconds"),this._expiringTimer.init(n)}else t.debug("canceling existing expiring timer because we're past expiration."),this._expiringTimer.cancel();let i=r+1;t.debug("registering expired timer, raising in",i,"seconds"),this._expiredTimer.init(i)}else this._expiringTimer.cancel(),this._expiredTimer.cancel()}unload(){this._logger.debug("unload: canceling existing access token timers"),this._expiringTimer.cancel(),this._expiredTimer.cancel()}addAccessTokenExpiring(e){return this._expiringTimer.addHandler(e)}removeAccessTokenExpiring(e){this._expiringTimer.removeHandler(e)}addAccessTokenExpired(e){return this._expiredTimer.addHandler(e)}removeAccessTokenExpired(e){this._expiredTimer.removeHandler(e)}};var V=class{constructor(e,t,r,i,n){this._callback=e;this._client_id=t;this._intervalInSeconds=i;this._stopOnError=n;this._logger=new g("CheckSessionIFrame");this._timer=null;this._session_state=null;this._message=e=>{e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&(e.data==="error"?(this._logger.error("error message from check session op iframe"),this._stopOnError&&this.stop()):e.data==="changed"?(this._logger.debug("changed message from check session op iframe"),this.stop(),this._callback()):this._logger.debug(e.data+" message from check session op iframe"))};let s=new URL(r);this._frame_origin=s.origin,this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="fixed",this._frame.style.left="-1000px",this._frame.style.top="0",this._frame.width="0",this._frame.height="0",this._frame.src=s.href}load(){return new Promise(e=>{this._frame.onload=()=>{e()},window.document.body.appendChild(this._frame),window.addEventListener("message",this._message,!1)})}start(e){if(this._session_state===e)return;this._logger.create("start"),this.stop(),this._session_state=e;let t=()=>{!this._frame.contentWindow||!this._session_state||this._frame.contentWindow.postMessage(this._client_id+" "+this._session_state,this._frame_origin)};t(),this._timer=setInterval(t,this._intervalInSeconds*1e3)}stop(){this._logger.create("stop"),this._session_state=null,this._timer&&(clearInterval(this._timer),this._timer=null)}};var j=class{constructor(){this._logger=new g("InMemoryWebStorage");this._data={}}clear(){this._logger.create("clear"),this._data={}}getItem(e){return this._logger.create(`getItem('${e}')`),this._data[e]}setItem(e,t){this._logger.create(`setItem('${e}')`),this._data[e]=t}removeItem(e){this._logger.create(`removeItem('${e}')`),delete this._data[e]}get length(){return Object.getOwnPropertyNames(this._data).length}key(e){return Object.getOwnPropertyNames(this._data)[e]}};var F=class{constructor(e=[],t=null,r={}){this._jwtHandler=t;this._extraHeaders=r;this._logger=new g("JsonService");this._contentTypes=[];this._contentTypes.push(...e,"application/json"),t&&this._contentTypes.push("application/jwt")}async fetchWithTimeout(e,t={}){let{timeoutInSeconds:r,...i}=t;if(!r)return await fetch(e,i);let n=new AbortController,s=setTimeout(()=>n.abort(),r*1e3);try{return await fetch(e,{...t,signal:n.signal})}catch(o){throw o instanceof DOMException&&o.name==="AbortError"?new q("Network timed out"):o}finally{clearTimeout(s)}}async getJson(e,{token:t,credentials:r}={}){let i=this._logger.create("getJson"),n={Accept:this._contentTypes.join(", ")};t&&(i.debug("token passed, setting Authorization header"),n.Authorization="Bearer "+t),this.appendExtraHeaders(n);let s;try{i.debug("url:",e),s=await this.fetchWithTimeout(e,{method:"GET",headers:n,credentials:r})}catch(d){throw i.error("Network Error"),d}i.debug("HTTP response received, status",s.status);let o=s.headers.get("Content-Type");if(o&&!this._contentTypes.find(d=>o.startsWith(d))&&i.throw(new Error(`Invalid response Content-Type: ${o!=null?o:"undefined"}, from URL: ${e}`)),s.ok&&this._jwtHandler&&(o!=null&&o.startsWith("application/jwt")))return await this._jwtHandler(await s.text());let c;try{c=await s.json()}catch(d){throw i.error("Error parsing JSON response",d),s.ok?d:new Error(`${s.statusText} (${s.status})`)}if(!s.ok)throw i.error("Error from server:",c),c.error?new E(c):new Error(`${s.statusText} (${s.status}): ${JSON.stringify(c)}`);return c}async postForm(e,{body:t,basicAuth:r,timeoutInSeconds:i,initCredentials:n}){let s=this._logger.create("postForm"),o={Accept:this._contentTypes.join(", "),"Content-Type":"application/x-www-form-urlencoded"};r!==void 0&&(o.Authorization="Basic "+r),this.appendExtraHeaders(o);let c;try{s.debug("url:",e),c=await this.fetchWithTimeout(e,{method:"POST",headers:o,body:t,timeoutInSeconds:i,credentials:n})}catch(p){throw s.error("Network error"),p}s.debug("HTTP response received, status",c.status);let d=c.headers.get("Content-Type");if(d&&!this._contentTypes.find(p=>d.startsWith(p)))throw new Error(`Invalid response Content-Type: ${d!=null?d:"undefined"}, from URL: ${e}`);let h=await c.text(),f={};if(h)try{f=JSON.parse(h)}catch(p){throw s.error("Error parsing JSON response",p),c.ok?p:new Error(`${c.statusText} (${c.status})`)}if(!c.ok)throw s.error("Error from server:",f),f.error?new E(f,t):new Error(`${c.statusText} (${c.status}): ${JSON.stringify(f)}`);return f}appendExtraHeaders(e){let t=this._logger.create("appendExtraHeaders"),r=Object.keys(this._extraHeaders),i=["authorization","accept","content-type"];r.length!==0&&r.forEach(n=>{if(i.includes(n.toLocaleLowerCase())){t.warn("Protected header could not be overridden",n,i);return}let s=typeof this._extraHeaders[n]=="function"?this._extraHeaders[n]():this._extraHeaders[n];s&&s!==""&&(e[n]=s)})}};var G=class{constructor(e){this._settings=e;this._logger=new g("MetadataService");this._signingKeys=null;this._metadata=null;this._metadataUrl=this._settings.metadataUrl,this._jsonService=new F(["application/jwk-set+json"],null,this._settings.extraHeaders),this._settings.signingKeys&&(this._logger.debug("using signingKeys from settings"),this._signingKeys=this._settings.signingKeys),this._settings.metadata&&(this._logger.debug("using metadata from settings"),this._metadata=this._settings.metadata),this._settings.fetchRequestCredentials&&(this._logger.debug("using fetchRequestCredentials from settings"),this._fetchRequestCredentials=this._settings.fetchRequestCredentials)}resetSigningKeys(){this._signingKeys=null}async getMetadata(){let e=this._logger.create("getMetadata");if(this._metadata)return e.debug("using cached values"),this._metadata;if(!this._metadataUrl)throw e.throw(new Error("No authority or metadataUrl configured on settings")),null;e.debug("getting metadata from",this._metadataUrl);let t=await this._jsonService.getJson(this._metadataUrl,{credentials:this._fetchRequestCredentials});return e.debug("merging remote JSON with seed metadata"),this._metadata=Object.assign({},this._settings.metadataSeed,t),this._metadata}getIssuer(){return this._getMetadataProperty("issuer")}getAuthorizationEndpoint(){return this._getMetadataProperty("authorization_endpoint")}getUserInfoEndpoint(){return this._getMetadataProperty("userinfo_endpoint")}getTokenEndpoint(e=!0){return this._getMetadataProperty("token_endpoint",e)}getCheckSessionIframe(){return this._getMetadataProperty("check_session_iframe",!0)}getEndSessionEndpoint(){return this._getMetadataProperty("end_session_endpoint",!0)}getRevocationEndpoint(e=!0){return this._getMetadataProperty("revocation_endpoint",e)}getKeysEndpoint(e=!0){return this._getMetadataProperty("jwks_uri",e)}async _getMetadataProperty(e,t=!1){let r=this._logger.create(`_getMetadataProperty('${e}')`),i=await this.getMetadata();if(r.debug("resolved"),i[e]===void 0){if(t===!0){r.warn("Metadata does not contain optional property");return}r.throw(new Error("Metadata does not contain property "+e))}return i[e]}async getSigningKeys(){let e=this._logger.create("getSigningKeys");if(this._signingKeys)return e.debug("returning signingKeys from cache"),this._signingKeys;let t=await this.getKeysEndpoint(!1);e.debug("got jwks_uri",t);let r=await this._jsonService.getJson(t);if(e.debug("got key set",r),!Array.isArray(r.keys))throw e.throw(new Error("Missing keys on keyset")),null;return this._signingKeys=r.keys,this._signingKeys}};var B=class{constructor({prefix:e="oidc.",store:t=localStorage}={}){this._logger=new g("WebStorageStateStore");this._store=t,this._prefix=e}async set(e,t){this._logger.create(`set('${e}')`),e=this._prefix+e,await this._store.setItem(e,t)}async get(e){return this._logger.create(`get('${e}')`),e=this._prefix+e,await this._store.getItem(e)}async remove(e){this._logger.create(`remove('${e}')`),e=this._prefix+e;let t=await this._store.getItem(e);return await this._store.removeItem(e),t}async getAllKeys(){this._logger.create("getAllKeys");let e=await this._store.length,t=[];for(let r=0;r{let t=this._logger.create("_getClaimsFromJwt");try{let r=K.decode(e);return t.debug("JWT decoding successful"),r}catch(r){throw t.error("Error parsing JWT response"),r}};this._jsonService=new F(void 0,this._getClaimsFromJwt,this._settings.extraHeaders)}async getClaims(e){let t=this._logger.create("getClaims");e||this._logger.throw(new Error("No token passed"));let r=await this._metadataService.getUserInfoEndpoint();t.debug("got userinfo url",r);let i=await this._jsonService.getJson(r,{token:e,credentials:this._settings.fetchRequestCredentials});return t.debug("got claims",i),i}};var X=class{constructor(e,t){this._settings=e;this._metadataService=t;this._logger=new g("TokenClient");this._jsonService=new F(this._settings.revokeTokenAdditionalContentTypes,null,this._settings.extraHeaders)}async exchangeCode({grant_type:e="authorization_code",redirect_uri:t=this._settings.redirect_uri,client_id:r=this._settings.client_id,client_secret:i=this._settings.client_secret,...n}){let s=this._logger.create("exchangeCode");r||s.throw(new Error("A client_id is required")),t||s.throw(new Error("A redirect_uri is required")),n.code||s.throw(new Error("A code is required"));let o=new URLSearchParams({grant_type:e,redirect_uri:t});for(let[f,p]of Object.entries(n))p!=null&&o.set(f,p);let c;switch(this._settings.client_authentication){case"client_secret_basic":if(!i)throw s.throw(new Error("A client_secret is required")),null;c=I.generateBasicAuth(r,i);break;case"client_secret_post":o.append("client_id",r),i&&o.append("client_secret",i);break}let d=await this._metadataService.getTokenEndpoint(!1);s.debug("got token endpoint");let h=await this._jsonService.postForm(d,{body:o,basicAuth:c,initCredentials:this._settings.fetchRequestCredentials});return s.debug("got response"),h}async exchangeCredentials({grant_type:e="password",client_id:t=this._settings.client_id,client_secret:r=this._settings.client_secret,scope:i=this._settings.scope,...n}){let s=this._logger.create("exchangeCredentials");t||s.throw(new Error("A client_id is required"));let o=new URLSearchParams({grant_type:e,scope:i});for(let[f,p]of Object.entries(n))p!=null&&o.set(f,p);let c;switch(this._settings.client_authentication){case"client_secret_basic":if(!r)throw s.throw(new Error("A client_secret is required")),null;c=I.generateBasicAuth(t,r);break;case"client_secret_post":o.append("client_id",t),r&&o.append("client_secret",r);break}let d=await this._metadataService.getTokenEndpoint(!1);s.debug("got token endpoint");let h=await this._jsonService.postForm(d,{body:o,basicAuth:c,initCredentials:this._settings.fetchRequestCredentials});return s.debug("got response"),h}async exchangeRefreshToken({grant_type:e="refresh_token",client_id:t=this._settings.client_id,client_secret:r=this._settings.client_secret,timeoutInSeconds:i,...n}){let s=this._logger.create("exchangeRefreshToken");t||s.throw(new Error("A client_id is required")),n.refresh_token||s.throw(new Error("A refresh_token is required"));let o=new URLSearchParams({grant_type:e});for(let[f,p]of Object.entries(n))Array.isArray(p)?p.forEach(_=>o.append(f,_)):p!=null&&o.set(f,p);let c;switch(this._settings.client_authentication){case"client_secret_basic":if(!r)throw s.throw(new Error("A client_secret is required")),null;c=I.generateBasicAuth(t,r);break;case"client_secret_post":o.append("client_id",t),r&&o.append("client_secret",r);break}let d=await this._metadataService.getTokenEndpoint(!1);s.debug("got token endpoint");let h=await this._jsonService.postForm(d,{body:o,basicAuth:c,timeoutInSeconds:i,initCredentials:this._settings.fetchRequestCredentials});return s.debug("got response"),h}async revoke(e){var n;let t=this._logger.create("revoke");e.token||t.throw(new Error("A token is required"));let r=await this._metadataService.getRevocationEndpoint(!1);t.debug(`got revocation endpoint, revoking ${(n=e.token_type_hint)!=null?n:"default token type"}`);let i=new URLSearchParams;for(let[s,o]of Object.entries(e))o!=null&&i.set(s,o);i.set("client_id",this._settings.client_id),this._settings.client_secret&&i.set("client_secret",this._settings.client_secret),await this._jsonService.postForm(r,{body:i}),t.debug("got response")}};var Se=class{constructor(e,t,r){this._settings=e;this._metadataService=t;this._claimsService=r;this._logger=new g("ResponseValidator");this._userInfoService=new we(this._settings,this._metadataService);this._tokenClient=new X(this._settings,this._metadataService)}async validateSigninResponse(e,t){let r=this._logger.create("validateSigninResponse");this._processSigninState(e,t),r.debug("state processed"),await this._processCode(e,t),r.debug("code processed"),e.isOpenId&&this._validateIdTokenAttributes(e),r.debug("tokens validated"),await this._processClaims(e,t==null?void 0:t.skipUserInfo,e.isOpenId),r.debug("claims processed")}async validateCredentialsResponse(e,t){let r=this._logger.create("validateCredentialsResponse");e.isOpenId&&e.id_token&&this._validateIdTokenAttributes(e),r.debug("tokens validated"),await this._processClaims(e,t,e.isOpenId),r.debug("claims processed")}async validateRefreshResponse(e,t){var n,s;let r=this._logger.create("validateRefreshResponse");e.userState=t.data,(n=e.session_state)!=null||(e.session_state=t.session_state),(s=e.scope)!=null||(e.scope=t.scope),e.isOpenId&&e.id_token&&(this._validateIdTokenAttributes(e,t.id_token),r.debug("ID Token validated")),e.id_token||(e.id_token=t.id_token,e.profile=t.profile);let i=e.isOpenId&&!!e.id_token;await this._processClaims(e,!1,i),r.debug("claims processed")}validateSignoutResponse(e,t){let r=this._logger.create("validateSignoutResponse");if(t.id!==e.state&&r.throw(new Error("State does not match")),r.debug("state validated"),e.userState=t.data,e.error)throw r.warn("Response was error",e.error),new E(e)}_processSigninState(e,t){var i;let r=this._logger.create("_processSigninState");if(t.id!==e.state&&r.throw(new Error("State does not match")),t.client_id||r.throw(new Error("No client_id on state")),t.authority||r.throw(new Error("No authority on state")),this._settings.authority!==t.authority&&r.throw(new Error("authority mismatch on settings vs. signin state")),this._settings.client_id&&this._settings.client_id!==t.client_id&&r.throw(new Error("client_id mismatch on settings vs. signin state")),r.debug("state validated"),e.userState=t.data,e.url_state=t.url_state,(i=e.scope)!=null||(e.scope=t.scope),e.error)throw r.warn("Response was error",e.error),new E(e);t.code_verifier&&!e.code&&r.throw(new Error("Expected code in response"))}async _processClaims(e,t=!1,r=!0){let i=this._logger.create("_processClaims");if(e.profile=this._claimsService.filterProtocolClaims(e.profile),t||!this._settings.loadUserInfo||!e.access_token){i.debug("not loading user info");return}i.debug("loading user info");let n=await this._userInfoService.getClaims(e.access_token);i.debug("user info claims received from user info endpoint"),r&&n.sub!==e.profile.sub&&i.throw(new Error("subject from UserInfo response does not match subject in ID Token")),e.profile=this._claimsService.mergeClaims(e.profile,this._claimsService.filterProtocolClaims(n)),i.debug("user info claims received, updated profile:",e.profile)}async _processCode(e,t){let r=this._logger.create("_processCode");if(e.code){r.debug("Validating code");let i=await this._tokenClient.exchangeCode({client_id:t.client_id,client_secret:t.client_secret,code:e.code,redirect_uri:t.redirect_uri,code_verifier:t.code_verifier,...t.extraTokenParams});Object.assign(e,i)}else r.debug("No code to process")}_validateIdTokenAttributes(e,t){var n;let r=this._logger.create("_validateIdTokenAttributes");r.debug("decoding ID Token JWT");let i=K.decode((n=e.id_token)!=null?n:"");if(i.sub||r.throw(new Error("ID Token is missing a subject claim")),t){let s=K.decode(t);i.sub!==s.sub&&r.throw(new Error("sub in id_token does not match current sub")),i.auth_time&&i.auth_time!==s.auth_time&&r.throw(new Error("auth_time in id_token does not match original auth_time")),i.azp&&i.azp!==s.azp&&r.throw(new Error("azp in id_token does not match original azp")),!i.azp&&s.azp&&r.throw(new Error("azp not in id_token, but present in original id_token"))}e.profile=i}};var T=class{constructor(e){this.id=e.id||I.generateUUIDv4(),this.data=e.data,e.created&&e.created>0?this.created=e.created:this.created=k.getEpochTime(),this.request_type=e.request_type,this.url_state=e.url_state}toStorageString(){return new g("State").create("toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,url_state:this.url_state})}static fromStorageString(e){return g.createStatic("State","fromStorageString"),new T(JSON.parse(e))}static async clearStaleState(e,t){let r=g.createStatic("State","clearStaleState"),i=k.getEpochTime()-t,n=await e.getAllKeys();r.debug("got keys",n);for(let s=0;sm.searchParams.append("resource",S));for(let[y,S]of Object.entries({response_mode:c,...u,...v}))S!=null&&m.searchParams.append(y,S.toString());this.url=m.href}};var yt="openid",J=class{constructor(e){this.access_token="";this.token_type="";this.profile={};if(this.state=e.get("state"),this.session_state=e.get("session_state"),this.state){let t=decodeURIComponent(this.state).split(ae);this.state=t[0],t.length>1&&(this.url_state=t.slice(1).join(ae))}this.error=e.get("error"),this.error_description=e.get("error_description"),this.error_uri=e.get("error_uri"),this.code=e.get("code")}get expires_in(){if(this.expires_at!==void 0)return this.expires_at-k.getEpochTime()}set expires_in(e){typeof e=="string"&&(e=Number(e)),e!==void 0&&e>=0&&(this.expires_at=Math.floor(e)+k.getEpochTime())}get isOpenId(){var e;return((e=this.scope)==null?void 0:e.split(" ").includes(yt))||!!this.id_token}};var ye=class{constructor({url:e,state_data:t,id_token_hint:r,post_logout_redirect_uri:i,extraQueryParams:n,request_type:s,client_id:o}){this._logger=new g("SignoutRequest");if(!e)throw this._logger.error("ctor: No url passed"),new Error("url");let c=new URL(e);r&&c.searchParams.append("id_token_hint",r),o&&c.searchParams.append("client_id",o),i&&(c.searchParams.append("post_logout_redirect_uri",i),t&&(this.state=new T({data:t,request_type:s}),c.searchParams.append("state",this.state.id)));for(let[d,h]of Object.entries({...n}))h!=null&&c.searchParams.append(d,h.toString());this.url=c.href}};var Y=class{constructor(e){this.state=e.get("state"),this.error=e.get("error"),this.error_description=e.get("error_description"),this.error_uri=e.get("error_uri")}};var vt=["nbf","jti","auth_time","nonce","acr","amr","azp","at_hash"],kt=["sub","iss","aud","exp","iat"],ve=class{constructor(e){this._settings=e;this._logger=new g("ClaimsService")}filterProtocolClaims(e){let t={...e};if(this._settings.filterProtocolClaims){let r;Array.isArray(this._settings.filterProtocolClaims)?r=this._settings.filterProtocolClaims:r=vt;for(let i of r)kt.includes(i)||delete t[i]}return t}mergeClaims(e,t){let r={...e};for(let[i,n]of Object.entries(t))for(let s of Array.isArray(n)?n:[n]){let o=r[i];o===void 0?r[i]=s:Array.isArray(o)?o.includes(s)||o.push(s):r[i]!==s&&(typeof s=="object"&&this._settings.mergeClaims?r[i]=this.mergeClaims(o,s):r[i]=[o,s])}return r}};var ce=class{constructor(e,t){this._logger=new g("OidcClient");this.settings=e instanceof N?e:new N(e),this.metadataService=t!=null?t:new G(this.settings),this._claimsService=new ve(this.settings),this._validator=new Se(this.settings,this.metadataService,this._claimsService),this._tokenClient=new X(this.settings,this.metadataService)}async createSigninRequest({state:e,request:t,request_uri:r,request_type:i,id_token_hint:n,login_hint:s,skipUserInfo:o,nonce:c,url_state:d,response_type:h=this.settings.response_type,scope:f=this.settings.scope,redirect_uri:p=this.settings.redirect_uri,prompt:_=this.settings.prompt,display:b=this.settings.display,max_age:v=this.settings.max_age,ui_locales:x=this.settings.ui_locales,acr_values:a=this.settings.acr_values,resource:u=this.settings.resource,response_mode:m=this.settings.response_mode,extraQueryParams:w=this.settings.extraQueryParams,extraTokenParams:y=this.settings.extraTokenParams}){let S=this._logger.create("createSigninRequest");if(h!=="code")throw new Error("Only the Authorization Code flow (with PKCE) is supported");let C=await this.metadataService.getAuthorizationEndpoint();S.debug("Received authorization endpoint",C);let R=new be({url:C,authority:this.settings.authority,client_id:this.settings.client_id,redirect_uri:p,response_type:h,scope:f,state_data:e,url_state:d,prompt:_,display:b,max_age:v,ui_locales:x,id_token_hint:n,login_hint:s,acr_values:a,resource:u,request:t,request_uri:r,extraQueryParams:w,extraTokenParams:y,request_type:i,response_mode:m,client_secret:this.settings.client_secret,skipUserInfo:o,nonce:c,disablePKCE:this.settings.disablePKCE});await this.clearStaleState();let P=R.state;return await this.settings.stateStore.set(P.id,P.toStorageString()),R}async readSigninResponseState(e,t=!1){let r=this._logger.create("readSigninResponseState"),i=new J($.readParams(e,this.settings.response_mode));if(!i.state)throw r.throw(new Error("No state in response")),null;let n=await this.settings.stateStore[t?"remove":"get"](i.state);if(!n)throw r.throw(new Error("No matching state found in storage")),null;return{state:M.fromStorageString(n),response:i}}async processSigninResponse(e){let t=this._logger.create("processSigninResponse"),{state:r,response:i}=await this.readSigninResponseState(e,!0);return t.debug("received state from storage; validating response"),await this._validator.validateSigninResponse(i,r),i}async processResourceOwnerPasswordCredentials({username:e,password:t,skipUserInfo:r=!1,extraTokenParams:i={}}){let n=await this._tokenClient.exchangeCredentials({username:e,password:t,...i}),s=new J(new URLSearchParams);return Object.assign(s,n),await this._validator.validateCredentialsResponse(s,r),s}async useRefreshToken({state:e,timeoutInSeconds:t}){var o;let r=this._logger.create("useRefreshToken"),i;if(this.settings.refreshTokenAllowedScope===void 0)i=e.scope;else{let c=this.settings.refreshTokenAllowedScope.split(" ");i=(((o=e.scope)==null?void 0:o.split(" "))||[]).filter(h=>c.includes(h)).join(" ")}let n=await this._tokenClient.exchangeRefreshToken({refresh_token:e.refresh_token,resource:e.resource,scope:i,timeoutInSeconds:t}),s=new J(new URLSearchParams);return Object.assign(s,n),r.debug("validating response",s),await this._validator.validateRefreshResponse(s,{...e,scope:i}),s}async createSignoutRequest({state:e,id_token_hint:t,client_id:r,request_type:i,post_logout_redirect_uri:n=this.settings.post_logout_redirect_uri,extraQueryParams:s=this.settings.extraQueryParams}={}){let o=this._logger.create("createSignoutRequest"),c=await this.metadataService.getEndSessionEndpoint();if(!c)throw o.throw(new Error("No end session endpoint")),null;o.debug("Received end session endpoint",c),!r&&n&&!t&&(r=this.settings.client_id);let d=new ye({url:c,id_token_hint:t,client_id:r,post_logout_redirect_uri:n,state_data:e,extraQueryParams:s,request_type:i});await this.clearStaleState();let h=d.state;return h&&(o.debug("Signout request has state to persist"),await this.settings.stateStore.set(h.id,h.toStorageString())),d}async readSignoutResponseState(e,t=!1){let r=this._logger.create("readSignoutResponseState"),i=new Y($.readParams(e,this.settings.response_mode));if(!i.state){if(r.debug("No state in response"),i.error)throw r.warn("Response was error:",i.error),new E(i);return{state:void 0,response:i}}let n=await this.settings.stateStore[t?"remove":"get"](i.state);if(!n)throw r.throw(new Error("No matching state found in storage")),null;return{state:T.fromStorageString(n),response:i}}async processSignoutResponse(e){let t=this._logger.create("processSignoutResponse"),{state:r,response:i}=await this.readSignoutResponseState(e,!0);return r?(t.debug("Received state from storage; validating response"),this._validator.validateSignoutResponse(i,r)):t.debug("No state from storage; skipping response validation"),i}clearStaleState(){return this._logger.create("clearStaleState"),T.clearStaleState(this.settings.stateStore,this.settings.staleStateAgeInSeconds)}async revokeToken(e,t){return this._logger.create("revokeToken"),await this._tokenClient.revoke({token:e,token_type_hint:t})}};var Z=class{constructor(e){this._userManager=e;this._logger=new g("SessionMonitor");this._start=async e=>{let t=e.session_state;if(!t)return;let r=this._logger.create("_start");if(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,r.debug("session_state",t,", sub",this._sub)):(this._sub=void 0,this._sid=void 0,r.debug("session_state",t,", anonymous user")),this._checkSessionIFrame){this._checkSessionIFrame.start(t);return}try{let i=await this._userManager.metadataService.getCheckSessionIframe();if(i){r.debug("initializing check session iframe");let n=this._userManager.settings.client_id,s=this._userManager.settings.checkSessionIntervalInSeconds,o=this._userManager.settings.stopCheckSessionOnError,c=new V(this._callback,n,i,s,o);await c.load(),this._checkSessionIFrame=c,c.start(t)}else r.warn("no check session iframe found in the metadata")}catch(i){r.error("Error from getCheckSessionIframe:",i instanceof Error?i.message:i)}};this._stop=()=>{let e=this._logger.create("_stop");if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&this._checkSessionIFrame.stop(),this._userManager.settings.monitorAnonymousSession){let t=setInterval(async()=>{clearInterval(t);try{let r=await this._userManager.querySessionStatus();if(r){let i={session_state:r.session_state,profile:r.sub&&r.sid?{sub:r.sub,sid:r.sid}:null};this._start(i)}}catch(r){e.error("error from querySessionStatus",r instanceof Error?r.message:r)}},1e3)}};this._callback=async()=>{let e=this._logger.create("_callback");try{let t=await this._userManager.querySessionStatus(),r=!0;t&&this._checkSessionIFrame?t.sub===this._sub?(r=!1,this._checkSessionIFrame.start(t.session_state),t.sid===this._sid?e.debug("same sub still logged in at OP, restarting check session iframe; session_state",t.session_state):(e.debug("same sub still logged in at OP, session state has changed, restarting check session iframe; session_state",t.session_state),this._userManager.events._raiseUserSessionChanged())):e.debug("different subject signed into OP",t.sub):e.debug("subject no longer signed into OP"),r?this._sub?this._userManager.events._raiseUserSignedOut():this._userManager.events._raiseUserSignedIn():e.debug("no change in session detected, no event to raise")}catch(t){this._sub&&(e.debug("Error calling queryCurrentSigninSession; raising signed out event",t),this._userManager.events._raiseUserSignedOut())}};e||this._logger.throw(new Error("No user manager passed")),this._userManager.events.addUserLoaded(this._start),this._userManager.events.addUserUnloaded(this._stop),this._init().catch(t=>{this._logger.error(t)})}async _init(){this._logger.create("_init");let e=await this._userManager.getUser();if(e)this._start(e);else if(this._userManager.settings.monitorAnonymousSession){let t=await this._userManager.querySessionStatus();if(t){let r={session_state:t.session_state,profile:t.sub&&t.sid?{sub:t.sub,sid:t.sid}:null};this._start(r)}}}};var W=class{constructor(e){var t;this.id_token=e.id_token,this.session_state=(t=e.session_state)!=null?t:null,this.access_token=e.access_token,this.refresh_token=e.refresh_token,this.token_type=e.token_type,this.scope=e.scope,this.profile=e.profile,this.expires_at=e.expires_at,this.state=e.userState,this.url_state=e.url_state}get expires_in(){if(this.expires_at!==void 0)return this.expires_at-k.getEpochTime()}set expires_in(e){e!==void 0&&(this.expires_at=Math.floor(e)+k.getEpochTime())}get expired(){let e=this.expires_in;if(e!==void 0)return e<=0}get scopes(){var e,t;return(t=(e=this.scope)==null?void 0:e.split(" "))!=null?t:[]}toStorageString(){return new g("User").create("toStorageString"),JSON.stringify({id_token:this.id_token,session_state:this.session_state,access_token:this.access_token,refresh_token:this.refresh_token,token_type:this.token_type,scope:this.scope,profile:this.profile,expires_at:this.expires_at})}static fromStorageString(e){return g.createStatic("User","fromStorageString"),new W(JSON.parse(e))}};var Ye="oidc-client",ee=class{constructor(){this._abort=new U("Window navigation aborted");this._disposeHandlers=new Set;this._window=null}async navigate(e){let t=this._logger.create("navigate");if(!this._window)throw new Error("Attempted to navigate on a disposed window");t.debug("setting URL in window"),this._window.location.replace(e.url);let{url:r,keepOpen:i}=await new Promise((n,s)=>{let o=c=>{var f;let d=c.data,h=(f=e.scriptOrigin)!=null?f:window.location.origin;if(!(c.origin!==h||(d==null?void 0:d.source)!==Ye)){try{let p=$.readParams(d.url,e.response_mode).get("state");if(p||t.warn("no state found in response url"),c.source!==this._window&&p!==e.state)return}catch{this._dispose(),s(new Error("Invalid response from window"))}n(d)}};window.addEventListener("message",o,!1),this._disposeHandlers.add(()=>window.removeEventListener("message",o,!1)),this._disposeHandlers.add(this._abort.addHandler(c=>{this._dispose(),s(c)}))});return t.debug("got response from window"),this._dispose(),i||this.close(),{url:r}}_dispose(){this._logger.create("_dispose");for(let e of this._disposeHandlers)e();this._disposeHandlers.clear()}static _notifyParent(e,t,r=!1,i=window.location.origin){e.postMessage({source:Ye,url:t,keepOpen:r},i)}};var Oe={location:!1,toolbar:!1,height:640,closePopupWindowAfterInSeconds:-1},qe="_blank",xt=60,Rt=2,Me=10,te=class extends N{constructor(t){let{popup_redirect_uri:r=t.redirect_uri,popup_post_logout_redirect_uri:i=t.post_logout_redirect_uri,popupWindowFeatures:n=Oe,popupWindowTarget:s=qe,redirectMethod:o="assign",redirectTarget:c="self",iframeNotifyParentOrigin:d=t.iframeNotifyParentOrigin,iframeScriptOrigin:h=t.iframeScriptOrigin,silent_redirect_uri:f=t.redirect_uri,silentRequestTimeoutInSeconds:p=Me,automaticSilentRenew:_=!0,validateSubOnSilentRenew:b=!0,includeIdTokenInSilentRenew:v=!1,monitorSession:x=!1,monitorAnonymousSession:a=!1,checkSessionIntervalInSeconds:u=Rt,query_status_response_type:m="code",stopCheckSessionOnError:w=!0,revokeTokenTypes:y=["access_token","refresh_token"],revokeTokensOnSignout:S=!1,includeIdTokenInSilentSignout:C=!1,accessTokenExpiringNotificationTimeInSeconds:R=xt,userStore:P}=t;super(t);if(this.popup_redirect_uri=r,this.popup_post_logout_redirect_uri=i,this.popupWindowFeatures=n,this.popupWindowTarget=s,this.redirectMethod=o,this.redirectTarget=c,this.iframeNotifyParentOrigin=d,this.iframeScriptOrigin=h,this.silent_redirect_uri=f,this.silentRequestTimeoutInSeconds=p,this.automaticSilentRenew=_,this.validateSubOnSilentRenew=b,this.includeIdTokenInSilentRenew=v,this.monitorSession=x,this.monitorAnonymousSession=a,this.checkSessionIntervalInSeconds=u,this.stopCheckSessionOnError=w,this.query_status_response_type=m,this.revokeTokenTypes=y,this.revokeTokensOnSignout=S,this.includeIdTokenInSilentSignout=C,this.accessTokenExpiringNotificationTimeInSeconds=R,P)this.userStore=P;else{let H=typeof window!="undefined"?window.sessionStorage:new j;this.userStore=new B({store:H})}}};var z=class extends ee{constructor({silentRequestTimeoutInSeconds:t=Me}){super();this._logger=new g("IFrameWindow");this._timeoutInSeconds=t,this._frame=z.createHiddenIframe(),this._window=this._frame.contentWindow}static createHiddenIframe(){let t=window.document.createElement("iframe");return t.style.visibility="hidden",t.style.position="fixed",t.style.left="-1000px",t.style.top="0",t.width="0",t.height="0",window.document.body.appendChild(t),t}async navigate(t){this._logger.debug("navigate: Using timeout of:",this._timeoutInSeconds);let r=setTimeout(()=>this._abort.raise(new q("IFrame timed out without a response")),this._timeoutInSeconds*1e3);return this._disposeHandlers.add(()=>clearTimeout(r)),await super.navigate(t)}close(){var t;this._frame&&(this._frame.parentNode&&(this._frame.addEventListener("load",r=>{var n;let i=r.target;(n=i.parentNode)==null||n.removeChild(i),this._abort.raise(new Error("IFrame removed from DOM"))},!0),(t=this._frame.contentWindow)==null||t.location.replace("about:blank")),this._frame=null),this._window=null}static notifyParent(t,r){return super._notifyParent(window.parent,t,!1,r)}};var ke=class{constructor(e){this._settings=e;this._logger=new g("IFrameNavigator")}async prepare({silentRequestTimeoutInSeconds:e=this._settings.silentRequestTimeoutInSeconds}){return new z({silentRequestTimeoutInSeconds:e})}async callback(e){this._logger.create("callback"),z.notifyParent(e,this._settings.iframeNotifyParentOrigin)}};var Pt=500,Ct=1e3,le=class extends ee{constructor({popupWindowTarget:t=qe,popupWindowFeatures:r={}}){super();this._logger=new g("PopupWindow");let i=oe.center({...Oe,...r});this._window=window.open(void 0,t,oe.serialize(i)),r.closePopupWindowAfterInSeconds&&r.closePopupWindowAfterInSeconds>0&&setTimeout(()=>{if(!this._window||typeof this._window.closed!="boolean"||this._window.closed){this._abort.raise(new Error("Popup blocked by user"));return}this.close()},r.closePopupWindowAfterInSeconds*Ct)}async navigate(t){var i;(i=this._window)==null||i.focus();let r=setInterval(()=>{(!this._window||this._window.closed)&&this._abort.raise(new Error("Popup closed by user"))},Pt);return this._disposeHandlers.add(()=>clearInterval(r)),await super.navigate(t)}close(){this._window&&(this._window.closed||(this._window.close(),this._abort.raise(new Error("Popup closed")))),this._window=null}static notifyOpener(t,r){if(!window.opener)throw new Error("No window.opener. Can't complete notification.");return super._notifyParent(window.opener,t,r)}};var xe=class{constructor(e){this._settings=e;this._logger=new g("PopupNavigator")}async prepare({popupWindowFeatures:e=this._settings.popupWindowFeatures,popupWindowTarget:t=this._settings.popupWindowTarget}){return new le({popupWindowFeatures:e,popupWindowTarget:t})}async callback(e,{keepOpen:t=!1}){this._logger.create("callback"),le.notifyOpener(e,t)}};var Re=class{constructor(e){this._settings=e;this._logger=new g("RedirectNavigator")}async prepare({redirectMethod:e=this._settings.redirectMethod,redirectTarget:t=this._settings.redirectTarget}){var s;this._logger.create("prepare");let r=window.self;t==="top"&&(r=(s=window.top)!=null?s:window.self);let i=r.location[e].bind(r.location),n;return{navigate:async o=>{this._logger.create("navigate");let c=new Promise((d,h)=>{n=h});return i(o.url),await c},close:()=>{this._logger.create("close"),n==null||n(new Error("Redirect aborted")),r.stop()}}}async callback(){}};var Pe=class extends Q{constructor(t){super({expiringNotificationTimeInSeconds:t.accessTokenExpiringNotificationTimeInSeconds});this._logger=new g("UserManagerEvents");this._userLoaded=new U("User loaded");this._userUnloaded=new U("User unloaded");this._silentRenewError=new U("Silent renew error");this._userSignedIn=new U("User signed in");this._userSignedOut=new U("User signed out");this._userSessionChanged=new U("User session changed")}load(t,r=!0){super.load(t),r&&this._userLoaded.raise(t)}unload(){super.unload(),this._userUnloaded.raise()}addUserLoaded(t){return this._userLoaded.addHandler(t)}removeUserLoaded(t){return this._userLoaded.removeHandler(t)}addUserUnloaded(t){return this._userUnloaded.addHandler(t)}removeUserUnloaded(t){return this._userUnloaded.removeHandler(t)}addSilentRenewError(t){return this._silentRenewError.addHandler(t)}removeSilentRenewError(t){return this._silentRenewError.removeHandler(t)}_raiseSilentRenewError(t){this._silentRenewError.raise(t)}addUserSignedIn(t){return this._userSignedIn.addHandler(t)}removeUserSignedIn(t){this._userSignedIn.removeHandler(t)}_raiseUserSignedIn(){this._userSignedIn.raise()}addUserSignedOut(t){return this._userSignedOut.addHandler(t)}removeUserSignedOut(t){this._userSignedOut.removeHandler(t)}_raiseUserSignedOut(){this._userSignedOut.raise()}addUserSessionChanged(t){return this._userSessionChanged.addHandler(t)}removeUserSessionChanged(t){this._userSessionChanged.removeHandler(t)}_raiseUserSessionChanged(){this._userSessionChanged.raise()}};var Ce=class{constructor(e){this._userManager=e;this._logger=new g("SilentRenewService");this._isStarted=!1;this._retryTimer=new k("Retry Silent Renew");this._tokenExpiring=async()=>{let e=this._logger.create("_tokenExpiring");try{await this._userManager.signinSilent(),e.debug("silent token renewal successful")}catch(t){if(t instanceof q){e.warn("ErrorTimeout from signinSilent:",t,"retry in 5s"),this._retryTimer.init(5);return}e.error("Error from signinSilent:",t),this._userManager.events._raiseSilentRenewError(t)}}}async start(){let e=this._logger.create("start");if(!this._isStarted){this._isStarted=!0,this._userManager.events.addAccessTokenExpiring(this._tokenExpiring),this._retryTimer.addHandler(this._tokenExpiring);try{await this._userManager.getUser()}catch(t){e.error("getUser error",t)}}}stop(){this._isStarted&&(this._retryTimer.cancel(),this._retryTimer.removeHandler(this._tokenExpiring),this._userManager.events.removeAccessTokenExpiring(this._tokenExpiring),this._isStarted=!1)}};var Ie=class{constructor(e,t){this.refresh_token=e.refresh_token,this.id_token=e.id_token,this.session_state=e.session_state,this.scope=e.scope,this.profile=e.profile,this.resource=t,this.data=e.state}};var We=class{constructor(e,t,r,i){this._logger=new g("UserManager");this.settings=new te(e),this._client=new ce(e),this._redirectNavigator=t!=null?t:new Re(this.settings),this._popupNavigator=r!=null?r:new xe(this.settings),this._iframeNavigator=i!=null?i:new ke(this.settings),this._events=new Pe(this.settings),this._silentRenewService=new Ce(this),this.settings.automaticSilentRenew&&this.startSilentRenew(),this._sessionMonitor=null,this.settings.monitorSession&&(this._sessionMonitor=new Z(this))}get events(){return this._events}get metadataService(){return this._client.metadataService}async getUser(){let e=this._logger.create("getUser"),t=await this._loadUser();return t?(e.info("user loaded"),this._events.load(t,!1),t):(e.info("user not found in storage"),null)}async removeUser(){let e=this._logger.create("removeUser");await this.storeUser(null),e.info("user removed from storage"),this._events.unload()}async signinRedirect(e={}){this._logger.create("signinRedirect");let{redirectMethod:t,...r}=e,i=await this._redirectNavigator.prepare({redirectMethod:t});await this._signinStart({request_type:"si:r",...r},i)}async signinRedirectCallback(e=window.location.href){let t=this._logger.create("signinRedirectCallback"),r=await this._signinEnd(e);return r.profile&&r.profile.sub?t.info("success, signed in subject",r.profile.sub):t.info("no subject"),r}async signinResourceOwnerCredentials({username:e,password:t,skipUserInfo:r=!1}){let i=this._logger.create("signinResourceOwnerCredential"),n=await this._client.processResourceOwnerPasswordCredentials({username:e,password:t,skipUserInfo:r,extraTokenParams:this.settings.extraTokenParams});i.debug("got signin response");let s=await this._buildUser(n);return s.profile&&s.profile.sub?i.info("success, signed in subject",s.profile.sub):i.info("no subject"),s}async signinPopup(e={}){let t=this._logger.create("signinPopup"),{popupWindowFeatures:r,popupWindowTarget:i,...n}=e,s=this.settings.popup_redirect_uri;s||t.throw(new Error("No popup_redirect_uri configured"));let o=await this._popupNavigator.prepare({popupWindowFeatures:r,popupWindowTarget:i}),c=await this._signin({request_type:"si:p",redirect_uri:s,display:"popup",...n},o);return c&&(c.profile&&c.profile.sub?t.info("success, signed in subject",c.profile.sub):t.info("no subject")),c}async signinPopupCallback(e=window.location.href,t=!1){let r=this._logger.create("signinPopupCallback");await this._popupNavigator.callback(e,{keepOpen:t}),r.info("success")}async signinSilent(e={}){var h;let t=this._logger.create("signinSilent"),{silentRequestTimeoutInSeconds:r,resource:i,...n}=e,s=await this._loadUser();if(s!=null&&s.refresh_token){t.debug("using refresh token");let f=new Ie(s,i);return await this._useRefreshToken(f)}let o=this.settings.silent_redirect_uri;o||t.throw(new Error("No silent_redirect_uri configured"));let c;s&&this.settings.validateSubOnSilentRenew&&(t.debug("subject prior to silent renew:",s.profile.sub),c=s.profile.sub);let d=await this._iframeNavigator.prepare({silentRequestTimeoutInSeconds:r});return s=await this._signin({request_type:"si:s",redirect_uri:o,prompt:"none",id_token_hint:this.settings.includeIdTokenInSilentRenew?s==null?void 0:s.id_token:void 0,...n},d,c),s&&((h=s.profile)!=null&&h.sub?t.info("success, signed in subject",s.profile.sub):t.info("no subject")),s}async _useRefreshToken(e){let t=await this._client.useRefreshToken({state:e,timeoutInSeconds:this.settings.silentRequestTimeoutInSeconds}),r=new W({...e,...t});return await this.storeUser(r),this._events.load(r),r}async signinSilentCallback(e=window.location.href){let t=this._logger.create("signinSilentCallback");await this._iframeNavigator.callback(e),t.info("success")}async signinCallback(e=window.location.href){let{state:t}=await this._client.readSigninResponseState(e);switch(t.request_type){case"si:r":return await this.signinRedirectCallback(e);case"si:p":return await this.signinPopupCallback(e);case"si:s":return await this.signinSilentCallback(e);default:throw new Error("invalid response_type in state")}}async signoutCallback(e=window.location.href,t=!1){let{state:r}=await this._client.readSignoutResponseState(e);if(r)switch(r.request_type){case"so:r":await this.signoutRedirectCallback(e);break;case"so:p":await this.signoutPopupCallback(e,t);break;case"so:s":await this.signoutSilentCallback(e);break;default:throw new Error("invalid response_type in state")}}async querySessionStatus(e={}){let t=this._logger.create("querySessionStatus"),{silentRequestTimeoutInSeconds:r,...i}=e,n=this.settings.silent_redirect_uri;n||t.throw(new Error("No silent_redirect_uri configured"));let s=await this._loadUser(),o=await this._iframeNavigator.prepare({silentRequestTimeoutInSeconds:r}),c=await this._signinStart({request_type:"si:s",redirect_uri:n,prompt:"none",id_token_hint:this.settings.includeIdTokenInSilentRenew?s==null?void 0:s.id_token:void 0,response_type:this.settings.query_status_response_type,scope:"openid",skipUserInfo:!0,...i},o);try{let d=await this._client.processSigninResponse(c.url);return t.debug("got signin response"),d.session_state&&d.profile.sub?(t.info("success for subject",d.profile.sub),{session_state:d.session_state,sub:d.profile.sub,sid:d.profile.sid}):(t.info("success, user not authenticated"),null)}catch(d){if(this.settings.monitorAnonymousSession&&d instanceof E)switch(d.error){case"login_required":case"consent_required":case"interaction_required":case"account_selection_required":return t.info("success for anonymous user"),{session_state:d.session_state}}throw d}}async _signin(e,t,r){let i=await this._signinStart(e,t);return await this._signinEnd(i.url,r)}async _signinStart(e,t){let r=this._logger.create("_signinStart");try{let i=await this._client.createSigninRequest(e);return r.debug("got signin request"),await t.navigate({url:i.url,state:i.state.id,response_mode:i.state.response_mode,scriptOrigin:this.settings.iframeScriptOrigin})}catch(i){throw r.debug("error after preparing navigator, closing navigator window"),t.close(),i}}async _signinEnd(e,t){let r=this._logger.create("_signinEnd"),i=await this._client.processSigninResponse(e);return r.debug("got signin response"),await this._buildUser(i,t)}async _buildUser(e,t){let r=this._logger.create("_buildUser"),i=new W(e);if(t){if(t!==i.profile.sub)throw r.debug("current user does not match user returned from signin. sub from signin:",i.profile.sub),new E({...e,error:"login_required"});r.debug("current user matches user returned from signin")}return await this.storeUser(i),r.debug("user stored"),this._events.load(i),i}async signoutRedirect(e={}){let t=this._logger.create("signoutRedirect"),{redirectMethod:r,...i}=e,n=await this._redirectNavigator.prepare({redirectMethod:r});await this._signoutStart({request_type:"so:r",post_logout_redirect_uri:this.settings.post_logout_redirect_uri,...i},n),t.info("success")}async signoutRedirectCallback(e=window.location.href){let t=this._logger.create("signoutRedirectCallback"),r=await this._signoutEnd(e);return t.info("success"),r}async signoutPopup(e={}){let t=this._logger.create("signoutPopup"),{popupWindowFeatures:r,popupWindowTarget:i,...n}=e,s=this.settings.popup_post_logout_redirect_uri,o=await this._popupNavigator.prepare({popupWindowFeatures:r,popupWindowTarget:i});await this._signout({request_type:"so:p",post_logout_redirect_uri:s,state:s==null?void 0:{},...n},o),t.info("success")}async signoutPopupCallback(e=window.location.href,t=!1){let r=this._logger.create("signoutPopupCallback");await this._popupNavigator.callback(e,{keepOpen:t}),r.info("success")}async _signout(e,t){let r=await this._signoutStart(e,t);return await this._signoutEnd(r.url)}async _signoutStart(e={},t){var i;let r=this._logger.create("_signoutStart");try{let n=await this._loadUser();r.debug("loaded current user from storage"),this.settings.revokeTokensOnSignout&&await this._revokeInternal(n);let s=e.id_token_hint||n&&n.id_token;s&&(r.debug("setting id_token_hint in signout request"),e.id_token_hint=s),await this.removeUser(),r.debug("user removed, creating signout request");let o=await this._client.createSignoutRequest(e);return r.debug("got signout request"),await t.navigate({url:o.url,state:(i=o.state)==null?void 0:i.id,scriptOrigin:this.settings.iframeScriptOrigin})}catch(n){throw r.debug("error after preparing navigator, closing navigator window"),t.close(),n}}async _signoutEnd(e){let t=this._logger.create("_signoutEnd"),r=await this._client.processSignoutResponse(e);return t.debug("got signout response"),r}async signoutSilent(e={}){var c;let t=this._logger.create("signoutSilent"),{silentRequestTimeoutInSeconds:r,...i}=e,n=this.settings.includeIdTokenInSilentSignout?(c=await this._loadUser())==null?void 0:c.id_token:void 0,s=this.settings.popup_post_logout_redirect_uri,o=await this._iframeNavigator.prepare({silentRequestTimeoutInSeconds:r});await this._signout({request_type:"so:s",post_logout_redirect_uri:s,id_token_hint:n,...i},o),t.info("success")}async signoutSilentCallback(e=window.location.href){let t=this._logger.create("signoutSilentCallback");await this._iframeNavigator.callback(e),t.info("success")}async revokeTokens(e){let t=await this._loadUser();await this._revokeInternal(t,e)}async _revokeInternal(e,t=this.settings.revokeTokenTypes){let r=this._logger.create("_revokeInternal");if(!e)return;let i=t.filter(n=>typeof e[n]=="string");if(!i.length){r.debug("no need to revoke due to no token(s)");return}for(let n of i)await this._client.revokeToken(e[n],n),r.info(`${n} revoked successfully`),n!=="access_token"&&(e[n]=null);await this.storeUser(e),r.debug("user stored"),this._events.load(e)}startSilentRenew(){this._logger.create("startSilentRenew"),this._silentRenewService.start()}stopSilentRenew(){this._silentRenewService.stop()}get _userStoreKey(){return`user:${this.settings.authority}:${this.settings.client_id}`}async _loadUser(){let e=this._logger.create("_loadUser"),t=await this.settings.userStore.get(this._userStoreKey);return t?(e.debug("user storageString loaded"),W.fromStorageString(t)):(e.debug("no user storageString"),null)}async storeUser(e){let t=this._logger.create("storeUser");if(e){t.debug("storing user");let r=e.toStorageString();await this.settings.userStore.set(this._userStoreKey,r)}else this._logger.debug("removing user"),await this.settings.userStore.remove(this._userStoreKey)}async clearStaleState(){await this._client.clearStaleState()}};var Ze="2.4.0";var et=Ze;return dt(Et);})(); +"use strict";var oidc=(()=>{var st=Object.create;var ge=Object.defineProperty;var nt=Object.getOwnPropertyDescriptor;var ot=Object.getOwnPropertyNames;var at=Object.getPrototypeOf,ct=Object.prototype.hasOwnProperty;var Ne=(l=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(l,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):l)(function(l){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+l+'" is not supported')});var se=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),lt=(l,e)=>{for(var t in e)ge(l,t,{get:e[t],enumerable:!0})},He=(l,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ot(e))!ct.call(l,i)&&i!==t&&ge(l,i,{get:()=>e[i],enumerable:!(r=nt(e,i))||r.enumerable});return l};var ue=(l,e,t)=>(t=l!=null?st(at(l)):{},He(e||!l||!l.__esModule?ge(t,"default",{value:l,enumerable:!0}):t,l)),dt=l=>He(ge({},"__esModule",{value:!0}),l);var Le=se(()=>{});var ne=se((pe,je)=>{(function(l,e){typeof pe=="object"?je.exports=pe=e():typeof define=="function"&&define.amd?define([],e):l.CryptoJS=e()})(pe,function(){var l=l||function(e,t){var r;if(typeof window<"u"&&window.crypto&&(r=window.crypto),typeof self<"u"&&self.crypto&&(r=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(r=globalThis.crypto),!r&&typeof window<"u"&&window.msCrypto&&(r=window.msCrypto),!r&&typeof global<"u"&&global.crypto&&(r=global.crypto),!r&&typeof Ne=="function")try{r=Le()}catch{}var i=function(){if(r){if(typeof r.getRandomValues=="function")try{return r.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof r.randomBytes=="function")try{return r.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},n=Object.create||function(){function a(){}return function(u){var m;return a.prototype=u,m=new a,a.prototype=null,m}}(),s={},o=s.lib={},c=o.Base=function(){return{extend:function(a){var u=n(this);return a&&u.mixIn(a),(!u.hasOwnProperty("init")||this.init===u.init)&&(u.init=function(){u.$super.init.apply(this,arguments)}),u.init.prototype=u,u.$super=this,u},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var u in a)a.hasOwnProperty(u)&&(this[u]=a[u]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),d=o.WordArray=c.extend({init:function(a,u){a=this.words=a||[],u!=t?this.sigBytes=u:this.sigBytes=a.length*4},toString:function(a){return(a||f).stringify(this)},concat:function(a){var u=this.words,m=a.words,w=this.sigBytes,y=a.sigBytes;if(this.clamp(),w%4)for(var S=0;S>>2]>>>24-S%4*8&255;u[w+S>>>2]|=C<<24-(w+S)%4*8}else for(var R=0;R>>2]=m[R>>>2];return this.sigBytes+=y,this},clamp:function(){var a=this.words,u=this.sigBytes;a[u>>>2]&=4294967295<<32-u%4*8,a.length=e.ceil(u/4)},clone:function(){var a=c.clone.call(this);return a.words=this.words.slice(0),a},random:function(a){for(var u=[],m=0;m>>2]>>>24-y%4*8&255;w.push((S>>>4).toString(16)),w.push((S&15).toString(16))}return w.join("")},parse:function(a){for(var u=a.length,m=[],w=0;w>>3]|=parseInt(a.substr(w,2),16)<<24-w%8*4;return new d.init(m,u/2)}},p=h.Latin1={stringify:function(a){for(var u=a.words,m=a.sigBytes,w=[],y=0;y>>2]>>>24-y%4*8&255;w.push(String.fromCharCode(S))}return w.join("")},parse:function(a){for(var u=a.length,m=[],w=0;w>>2]|=(a.charCodeAt(w)&255)<<24-w%4*8;return new d.init(m,u)}},_=h.Utf8={stringify:function(a){try{return decodeURIComponent(escape(p.stringify(a)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(a){return p.parse(unescape(encodeURIComponent(a)))}},b=o.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(a){typeof a=="string"&&(a=_.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(a){var u,m=this._data,w=m.words,y=m.sigBytes,S=this.blockSize,C=S*4,R=y/C;a?R=e.ceil(R):R=e.max((R|0)-this._minBufferSize,0);var P=R*S,H=e.min(P*4,y);if(P){for(var L=0;L{(function(l,e){typeof he=="object"?Fe.exports=he=e(ne()):typeof define=="function"&&define.amd?define(["./core"],e):e(l.CryptoJS)})(he,function(l){return function(e){var t=l,r=t.lib,i=r.WordArray,n=r.Hasher,s=t.algo,o=[],c=[];(function(){function f(v){for(var x=e.sqrt(v),a=2;a<=x;a++)if(!(v%a))return!1;return!0}function p(v){return(v-(v|0))*4294967296|0}for(var _=2,b=0;b<64;)f(_)&&(b<8&&(o[b]=p(e.pow(_,1/2))),c[b]=p(e.pow(_,1/3)),b++),_++})();var d=[],h=s.SHA256=n.extend({_doReset:function(){this._hash=new i.init(o.slice(0))},_doProcessBlock:function(f,p){for(var _=this._hash.words,b=_[0],v=_[1],x=_[2],a=_[3],u=_[4],m=_[5],w=_[6],y=_[7],S=0;S<64;S++){if(S<16)d[S]=f[p+S]|0;else{var C=d[S-15],R=(C<<25|C>>>7)^(C<<14|C>>>18)^C>>>3,P=d[S-2],H=(P<<15|P>>>17)^(P<<13|P>>>19)^P>>>10;d[S]=R+d[S-7]+H+d[S-16]}var L=u&m^~u&w,re=b&v^b&x^v&x,Ee=(b<<30|b>>>2)^(b<<19|b>>>13)^(b<<10|b>>>22),ie=(u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25),de=y+ie+L+c[S]+d[S],Te=Ee+re;y=w,w=m,m=u,u=a+de|0,a=x,x=v,v=b,b=de+Te|0}_[0]=_[0]+b|0,_[1]=_[1]+v|0,_[2]=_[2]+x|0,_[3]=_[3]+a|0,_[4]=_[4]+u|0,_[5]=_[5]+m|0,_[6]=_[6]+w|0,_[7]=_[7]+y|0},_doFinalize:function(){var f=this._data,p=f.words,_=this._nDataBytes*8,b=f.sigBytes*8;return p[b>>>5]|=128<<24-b%32,p[(b+64>>>9<<4)+14]=e.floor(_/4294967296),p[(b+64>>>9<<4)+15]=_,f.sigBytes=p.length*4,this._process(),this._hash},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f}});t.SHA256=n._createHelper(h),t.HmacSHA256=n._createHmacHelper(h)}(Math),l.SHA256})});var De=se((fe,Je)=>{(function(l,e){typeof fe=="object"?Je.exports=fe=e(ne()):typeof define=="function"&&define.amd?define(["./core"],e):e(l.CryptoJS)})(fe,function(l){return function(){var e=l,t=e.lib,r=t.WordArray,i=e.enc,n=i.Base64={stringify:function(o){var c=o.words,d=o.sigBytes,h=this._map;o.clamp();for(var f=[],p=0;p>>2]>>>24-p%4*8&255,b=c[p+1>>>2]>>>24-(p+1)%4*8&255,v=c[p+2>>>2]>>>24-(p+2)%4*8&255,x=_<<16|b<<8|v,a=0;a<4&&p+a*.75>>6*(3-a)&63));var u=h.charAt(64);if(u)for(;f.length%4;)f.push(u);return f.join("")},parse:function(o){var c=o.length,d=this._map,h=this._reverseMap;if(!h){h=this._reverseMap=[];for(var f=0;f>>6-p%4*2,v=_|b;h[f>>>2]|=v<<24-f%4*8,f++}return r.create(h,f)}}(),l.enc.Base64})});var $e=se((_e,Ke)=>{(function(l,e){typeof _e=="object"?Ke.exports=_e=e(ne()):typeof define=="function"&&define.amd?define(["./core"],e):e(l.CryptoJS)})(_e,function(l){return l.enc.Utf8})});var Et={};lt(Et,{AccessTokenEvents:()=>Q,CheckSessionIFrame:()=>V,ErrorResponse:()=>E,ErrorTimeout:()=>q,InMemoryWebStorage:()=>j,Log:()=>D,Logger:()=>g,MetadataService:()=>G,OidcClient:()=>ce,OidcClientSettingsStore:()=>N,SessionMonitor:()=>Z,SigninResponse:()=>J,SigninState:()=>M,SignoutResponse:()=>Y,State:()=>T,User:()=>W,UserManager:()=>We,UserManagerSettingsStore:()=>te,Version:()=>et,WebStorageStateStore:()=>B});var ze=ue(ne()),Qe=ue(Be()),Ue=ue(De()),Ve=ue($e());var gt={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},A,O,D=(n=>(n[n.NONE=0]="NONE",n[n.ERROR=1]="ERROR",n[n.WARN=2]="WARN",n[n.INFO=3]="INFO",n[n.DEBUG=4]="DEBUG",n))(D||{});(r=>{function l(){A=3,O=gt}r.reset=l;function e(i){if(!(0<=i&&i<=4))throw new Error("Invalid log level");A=i}r.setLevel=e;function t(i){O=i}r.setLogger=t})(D||(D={}));var g=class{constructor(e){this._name=e}debug(...e){A>=4&&O.debug(g._format(this._name,this._method),...e)}info(...e){A>=3&&O.info(g._format(this._name,this._method),...e)}warn(...e){A>=2&&O.warn(g._format(this._name,this._method),...e)}error(...e){A>=1&&O.error(g._format(this._name,this._method),...e)}throw(e){throw this.error(e),e}create(e){let t=Object.create(this);return t._method=e,t.debug("begin"),t}static createStatic(e,t){let r=new g(`${e}.${t}`);return r.debug("begin"),r}static _format(e,t){let r=`[${e}]`;return t?`${r} ${t}:`:r}static debug(e,...t){A>=4&&O.debug(g._format(e),...t)}static info(e,...t){A>=3&&O.info(g._format(e),...t)}static warn(e,...t){A>=2&&O.warn(g._format(e),...t)}static error(e,...t){A>=1&&O.error(g._format(e),...t)}};D.reset();var ut="10000000-1000-4000-8000-100000000000",I=class{static _randomWord(){return ze.default.lib.WordArray.random(1).words[0]}static generateUUIDv4(){return ut.replace(/[018]/g,t=>(+t^I._randomWord()&15>>+t/4).toString(16)).replace(/-/g,"")}static generateCodeVerifier(){return I.generateUUIDv4()+I.generateUUIDv4()+I.generateUUIDv4()}static generateCodeChallenge(e){try{let t=(0,Qe.default)(e);return Ue.default.stringify(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}catch(t){throw g.error("CryptoUtils.generateCodeChallenge",t),t}}static generateBasicAuth(e,t){let r=Ve.default.parse([e,t].join(":"));return Ue.default.stringify(r)}};var U=class{constructor(e){this._name=e;this._logger=new g(`Event('${this._name}')`);this._callbacks=[]}addHandler(e){return this._callbacks.push(e),()=>this.removeHandler(e)}removeHandler(e){let t=this._callbacks.lastIndexOf(e);t>=0&&this._callbacks.splice(t,1)}raise(...e){this._logger.debug("raise:",...e);for(let t of this._callbacks)t(...e)}};function Ae(l){this.message=l}Ae.prototype=new Error,Ae.prototype.name="InvalidCharacterError";var Ge=typeof window<"u"&&window.atob&&window.atob.bind(window)||function(l){var e=String(l).replace(/=+$/,"");if(e.length%4==1)throw new Ae("'atob' failed: The string to be decoded is not correctly encoded.");for(var t,r,i=0,n=0,s="";r=e.charAt(n++);~r&&(t=i%4?64*t+r:r,i++%4)?s+=String.fromCharCode(255&t>>(-2*i&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return s};function pt(l){var e=l.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Ge(t).replace(/(.)/g,function(r,i){var n=i.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}(e)}catch{return Ge(e)}}function me(l){this.message=l}function ht(l,e){if(typeof l!="string")throw new me("Invalid token specified");var t=(e=e||{}).header===!0?0:1;try{return JSON.parse(pt(l.split(".")[t]))}catch(r){throw new me("Invalid token specified: "+r.message)}}me.prototype=new Error,me.prototype.name="InvalidTokenError";var Xe=ht;var K=class{static decode(e){try{return Xe(e)}catch(t){throw g.error("JwtUtils.decode",t),t}}};var oe=class{static center({...e}){var t,r,i;return e.width==null&&(e.width=(t=[800,720,600,480].find(n=>n<=window.outerWidth/1.618))!=null?t:360),(r=e.left)!=null||(e.left=Math.max(0,Math.round(window.screenX+(window.outerWidth-e.width)/2))),e.height!=null&&((i=e.top)!=null||(e.top=Math.max(0,Math.round(window.screenY+(window.outerHeight-e.height)/2)))),e}static serialize(e){return Object.entries(e).filter(([,t])=>t!=null).map(([t,r])=>`${t}=${typeof r!="boolean"?r:r?"yes":"no"}`).join(",")}};var k=class extends U{constructor(){super(...arguments);this._logger=new g(`Timer('${this._name}')`);this._timerHandle=null;this._expiration=0;this._callback=()=>{let t=this._expiration-k.getEpochTime();this._logger.debug("timer completes in",t),this._expiration<=k.getEpochTime()&&(this.cancel(),super.raise())}}static getEpochTime(){return Math.floor(Date.now()/1e3)}init(t){let r=this._logger.create("init");t=Math.max(Math.floor(t),1);let i=k.getEpochTime()+t;if(this.expiration===i&&this._timerHandle){r.debug("skipping since already initialized for expiration at",this.expiration);return}this.cancel(),r.debug("using duration",t),this._expiration=i;let n=Math.min(t,5);this._timerHandle=setInterval(this._callback,n*1e3)}get expiration(){return this._expiration}cancel(){this._logger.create("cancel"),this._timerHandle&&(clearInterval(this._timerHandle),this._timerHandle=null)}};var $=class{static readParams(e,t="query"){if(!e)throw new TypeError("Invalid URL");let i=new URL(e,"http://127.0.0.1")[t==="fragment"?"hash":"search"];return new URLSearchParams(i.slice(1))}},ae=";";var E=class extends Error{constructor(t,r){var i,n,s;super(t.error_description||t.error||"");this.form=r;this.name="ErrorResponse";if(!t.error)throw g.error("ErrorResponse","No error passed"),new Error("No error passed");this.error=t.error,this.error_description=(i=t.error_description)!=null?i:null,this.error_uri=(n=t.error_uri)!=null?n:null,this.state=t.userState,this.session_state=(s=t.session_state)!=null?s:null,this.url_state=t.url_state}};var q=class extends Error{constructor(t){super(t);this.name="ErrorTimeout"}};var Q=class{constructor(e){this._logger=new g("AccessTokenEvents");this._expiringTimer=new k("Access token expiring");this._expiredTimer=new k("Access token expired");this._expiringNotificationTimeInSeconds=e.expiringNotificationTimeInSeconds}load(e){let t=this._logger.create("load");if(e.access_token&&e.expires_in!==void 0){let r=e.expires_in;if(t.debug("access token present, remaining duration:",r),r>0){let n=r-this._expiringNotificationTimeInSeconds;n<=0&&(n=1),t.debug("registering expiring timer, raising in",n,"seconds"),this._expiringTimer.init(n)}else t.debug("canceling existing expiring timer because we're past expiration."),this._expiringTimer.cancel();let i=r+1;t.debug("registering expired timer, raising in",i,"seconds"),this._expiredTimer.init(i)}else this._expiringTimer.cancel(),this._expiredTimer.cancel()}unload(){this._logger.debug("unload: canceling existing access token timers"),this._expiringTimer.cancel(),this._expiredTimer.cancel()}addAccessTokenExpiring(e){return this._expiringTimer.addHandler(e)}removeAccessTokenExpiring(e){this._expiringTimer.removeHandler(e)}addAccessTokenExpired(e){return this._expiredTimer.addHandler(e)}removeAccessTokenExpired(e){this._expiredTimer.removeHandler(e)}};var V=class{constructor(e,t,r,i,n){this._callback=e;this._client_id=t;this._intervalInSeconds=i;this._stopOnError=n;this._logger=new g("CheckSessionIFrame");this._timer=null;this._session_state=null;this._message=e=>{e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&(e.data==="error"?(this._logger.error("error message from check session op iframe"),this._stopOnError&&this.stop()):e.data==="changed"?(this._logger.debug("changed message from check session op iframe"),this.stop(),this._callback()):this._logger.debug(e.data+" message from check session op iframe"))};let s=new URL(r);this._frame_origin=s.origin,this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="fixed",this._frame.style.left="-1000px",this._frame.style.top="0",this._frame.width="0",this._frame.height="0",this._frame.src=s.href}load(){return new Promise(e=>{this._frame.onload=()=>{e()},window.document.body.appendChild(this._frame),window.addEventListener("message",this._message,!1)})}start(e){if(this._session_state===e)return;this._logger.create("start"),this.stop(),this._session_state=e;let t=()=>{!this._frame.contentWindow||!this._session_state||this._frame.contentWindow.postMessage(this._client_id+" "+this._session_state,this._frame_origin)};t(),this._timer=setInterval(t,this._intervalInSeconds*1e3)}stop(){this._logger.create("stop"),this._session_state=null,this._timer&&(clearInterval(this._timer),this._timer=null)}};var j=class{constructor(){this._logger=new g("InMemoryWebStorage");this._data={}}clear(){this._logger.create("clear"),this._data={}}getItem(e){return this._logger.create(`getItem('${e}')`),this._data[e]}setItem(e,t){this._logger.create(`setItem('${e}')`),this._data[e]=t}removeItem(e){this._logger.create(`removeItem('${e}')`),delete this._data[e]}get length(){return Object.getOwnPropertyNames(this._data).length}key(e){return Object.getOwnPropertyNames(this._data)[e]}};var F=class{constructor(e=[],t=null,r={}){this._jwtHandler=t;this._extraHeaders=r;this._logger=new g("JsonService");this._contentTypes=[];this._contentTypes.push(...e,"application/json"),t&&this._contentTypes.push("application/jwt")}async fetchWithTimeout(e,t={}){let{timeoutInSeconds:r,...i}=t;if(!r)return await fetch(e,i);let n=new AbortController,s=setTimeout(()=>n.abort(),r*1e3);try{return await fetch(e,{...t,signal:n.signal})}catch(o){throw o instanceof DOMException&&o.name==="AbortError"?new q("Network timed out"):o}finally{clearTimeout(s)}}async getJson(e,{token:t,credentials:r}={}){let i=this._logger.create("getJson"),n={Accept:this._contentTypes.join(", ")};t&&(i.debug("token passed, setting Authorization header"),n.Authorization="Bearer "+t),this.appendExtraHeaders(n);let s;try{i.debug("url:",e),s=await this.fetchWithTimeout(e,{method:"GET",headers:n,credentials:r})}catch(d){throw i.error("Network Error"),d}i.debug("HTTP response received, status",s.status);let o=s.headers.get("Content-Type");if(o&&!this._contentTypes.find(d=>o.startsWith(d))&&i.throw(new Error(`Invalid response Content-Type: ${o!=null?o:"undefined"}, from URL: ${e}`)),s.ok&&this._jwtHandler&&(o!=null&&o.startsWith("application/jwt")))return await this._jwtHandler(await s.text());let c;try{c=await s.json()}catch(d){throw i.error("Error parsing JSON response",d),s.ok?d:new Error(`${s.statusText} (${s.status})`)}if(!s.ok)throw i.error("Error from server:",c),c.error?new E(c):new Error(`${s.statusText} (${s.status}): ${JSON.stringify(c)}`);return c}async postForm(e,{body:t,basicAuth:r,timeoutInSeconds:i,initCredentials:n}){let s=this._logger.create("postForm"),o={Accept:this._contentTypes.join(", "),"Content-Type":"application/x-www-form-urlencoded"};r!==void 0&&(o.Authorization="Basic "+r),this.appendExtraHeaders(o);let c;try{s.debug("url:",e),c=await this.fetchWithTimeout(e,{method:"POST",headers:o,body:t,timeoutInSeconds:i,credentials:n})}catch(p){throw s.error("Network error"),p}s.debug("HTTP response received, status",c.status);let d=c.headers.get("Content-Type");if(d&&!this._contentTypes.find(p=>d.startsWith(p)))throw new Error(`Invalid response Content-Type: ${d!=null?d:"undefined"}, from URL: ${e}`);let h=await c.text(),f={};if(h)try{f=JSON.parse(h)}catch(p){throw s.error("Error parsing JSON response",p),c.ok?p:new Error(`${c.statusText} (${c.status})`)}if(!c.ok)throw s.error("Error from server:",f),f.error?new E(f,t):new Error(`${c.statusText} (${c.status}): ${JSON.stringify(f)}`);return f}appendExtraHeaders(e){let t=this._logger.create("appendExtraHeaders"),r=Object.keys(this._extraHeaders),i=["authorization","accept","content-type"];r.length!==0&&r.forEach(n=>{if(i.includes(n.toLocaleLowerCase())){t.warn("Protected header could not be overridden",n,i);return}let s=typeof this._extraHeaders[n]=="function"?this._extraHeaders[n]():this._extraHeaders[n];s&&s!==""&&(e[n]=s)})}};var G=class{constructor(e){this._settings=e;this._logger=new g("MetadataService");this._signingKeys=null;this._metadata=null;this._metadataUrl=this._settings.metadataUrl,this._jsonService=new F(["application/jwk-set+json"],null,this._settings.extraHeaders),this._settings.signingKeys&&(this._logger.debug("using signingKeys from settings"),this._signingKeys=this._settings.signingKeys),this._settings.metadata&&(this._logger.debug("using metadata from settings"),this._metadata=this._settings.metadata),this._settings.fetchRequestCredentials&&(this._logger.debug("using fetchRequestCredentials from settings"),this._fetchRequestCredentials=this._settings.fetchRequestCredentials)}resetSigningKeys(){this._signingKeys=null}async getMetadata(){let e=this._logger.create("getMetadata");if(this._metadata)return e.debug("using cached values"),this._metadata;if(!this._metadataUrl)throw e.throw(new Error("No authority or metadataUrl configured on settings")),null;e.debug("getting metadata from",this._metadataUrl);let t=await this._jsonService.getJson(this._metadataUrl,{credentials:this._fetchRequestCredentials});return e.debug("merging remote JSON with seed metadata"),this._metadata=Object.assign({},this._settings.metadataSeed,t),this._metadata}getIssuer(){return this._getMetadataProperty("issuer")}getAuthorizationEndpoint(){return this._getMetadataProperty("authorization_endpoint")}getUserInfoEndpoint(){return this._getMetadataProperty("userinfo_endpoint")}getTokenEndpoint(e=!0){return this._getMetadataProperty("token_endpoint",e)}getCheckSessionIframe(){return this._getMetadataProperty("check_session_iframe",!0)}getEndSessionEndpoint(){return this._getMetadataProperty("end_session_endpoint",!0)}getRevocationEndpoint(e=!0){return this._getMetadataProperty("revocation_endpoint",e)}getKeysEndpoint(e=!0){return this._getMetadataProperty("jwks_uri",e)}async _getMetadataProperty(e,t=!1){let r=this._logger.create(`_getMetadataProperty('${e}')`),i=await this.getMetadata();if(r.debug("resolved"),i[e]===void 0){if(t===!0){r.warn("Metadata does not contain optional property");return}r.throw(new Error("Metadata does not contain property "+e))}return i[e]}async getSigningKeys(){let e=this._logger.create("getSigningKeys");if(this._signingKeys)return e.debug("returning signingKeys from cache"),this._signingKeys;let t=await this.getKeysEndpoint(!1);e.debug("got jwks_uri",t);let r=await this._jsonService.getJson(t);if(e.debug("got key set",r),!Array.isArray(r.keys))throw e.throw(new Error("Missing keys on keyset")),null;return this._signingKeys=r.keys,this._signingKeys}};var B=class{constructor({prefix:e="oidc.",store:t=localStorage}={}){this._logger=new g("WebStorageStateStore");this._store=t,this._prefix=e}async set(e,t){this._logger.create(`set('${e}')`),e=this._prefix+e,await this._store.setItem(e,t)}async get(e){return this._logger.create(`get('${e}')`),e=this._prefix+e,await this._store.getItem(e)}async remove(e){this._logger.create(`remove('${e}')`),e=this._prefix+e;let t=await this._store.getItem(e);return await this._store.removeItem(e),t}async getAllKeys(){this._logger.create("getAllKeys");let e=await this._store.length,t=[];for(let r=0;r{let t=this._logger.create("_getClaimsFromJwt");try{let r=K.decode(e);return t.debug("JWT decoding successful"),r}catch(r){throw t.error("Error parsing JWT response"),r}};this._jsonService=new F(void 0,this._getClaimsFromJwt,this._settings.extraHeaders)}async getClaims(e){let t=this._logger.create("getClaims");e||this._logger.throw(new Error("No token passed"));let r=await this._metadataService.getUserInfoEndpoint();t.debug("got userinfo url",r);let i=await this._jsonService.getJson(r,{token:e,credentials:this._settings.fetchRequestCredentials});return t.debug("got claims",i),i}};var X=class{constructor(e,t){this._settings=e;this._metadataService=t;this._logger=new g("TokenClient");this._jsonService=new F(this._settings.revokeTokenAdditionalContentTypes,null,this._settings.extraHeaders)}async exchangeCode({grant_type:e="authorization_code",redirect_uri:t=this._settings.redirect_uri,client_id:r=this._settings.client_id,client_secret:i=this._settings.client_secret,...n}){let s=this._logger.create("exchangeCode");r||s.throw(new Error("A client_id is required")),t||s.throw(new Error("A redirect_uri is required")),n.code||s.throw(new Error("A code is required"));let o=new URLSearchParams({grant_type:e,redirect_uri:t});for(let[f,p]of Object.entries(n))p!=null&&o.set(f,p);let c;switch(this._settings.client_authentication){case"client_secret_basic":if(!i)throw s.throw(new Error("A client_secret is required")),null;c=I.generateBasicAuth(r,i);break;case"client_secret_post":o.append("client_id",r),i&&o.append("client_secret",i);break}let d=await this._metadataService.getTokenEndpoint(!1);s.debug("got token endpoint");let h=await this._jsonService.postForm(d,{body:o,basicAuth:c,initCredentials:this._settings.fetchRequestCredentials});return s.debug("got response"),h}async exchangeCredentials({grant_type:e="password",client_id:t=this._settings.client_id,client_secret:r=this._settings.client_secret,scope:i=this._settings.scope,...n}){let s=this._logger.create("exchangeCredentials");t||s.throw(new Error("A client_id is required"));let o=new URLSearchParams({grant_type:e,scope:i});for(let[f,p]of Object.entries(n))p!=null&&o.set(f,p);let c;switch(this._settings.client_authentication){case"client_secret_basic":if(!r)throw s.throw(new Error("A client_secret is required")),null;c=I.generateBasicAuth(t,r);break;case"client_secret_post":o.append("client_id",t),r&&o.append("client_secret",r);break}let d=await this._metadataService.getTokenEndpoint(!1);s.debug("got token endpoint");let h=await this._jsonService.postForm(d,{body:o,basicAuth:c,initCredentials:this._settings.fetchRequestCredentials});return s.debug("got response"),h}async exchangeRefreshToken({grant_type:e="refresh_token",client_id:t=this._settings.client_id,client_secret:r=this._settings.client_secret,timeoutInSeconds:i,...n}){let s=this._logger.create("exchangeRefreshToken");t||s.throw(new Error("A client_id is required")),n.refresh_token||s.throw(new Error("A refresh_token is required"));let o=new URLSearchParams({grant_type:e});for(let[f,p]of Object.entries(n))Array.isArray(p)?p.forEach(_=>o.append(f,_)):p!=null&&o.set(f,p);let c;switch(this._settings.client_authentication){case"client_secret_basic":if(!r)throw s.throw(new Error("A client_secret is required")),null;c=I.generateBasicAuth(t,r);break;case"client_secret_post":o.append("client_id",t),r&&o.append("client_secret",r);break}let d=await this._metadataService.getTokenEndpoint(!1);s.debug("got token endpoint");let h=await this._jsonService.postForm(d,{body:o,basicAuth:c,timeoutInSeconds:i,initCredentials:this._settings.fetchRequestCredentials});return s.debug("got response"),h}async revoke(e){var n;let t=this._logger.create("revoke");e.token||t.throw(new Error("A token is required"));let r=await this._metadataService.getRevocationEndpoint(!1);t.debug(`got revocation endpoint, revoking ${(n=e.token_type_hint)!=null?n:"default token type"}`);let i=new URLSearchParams;for(let[s,o]of Object.entries(e))o!=null&&i.set(s,o);i.set("client_id",this._settings.client_id),this._settings.client_secret&&i.set("client_secret",this._settings.client_secret),await this._jsonService.postForm(r,{body:i}),t.debug("got response")}};var Se=class{constructor(e,t,r){this._settings=e;this._metadataService=t;this._claimsService=r;this._logger=new g("ResponseValidator");this._userInfoService=new we(this._settings,this._metadataService);this._tokenClient=new X(this._settings,this._metadataService)}async validateSigninResponse(e,t){let r=this._logger.create("validateSigninResponse");this._processSigninState(e,t),r.debug("state processed"),await this._processCode(e,t),r.debug("code processed"),e.isOpenId&&this._validateIdTokenAttributes(e),r.debug("tokens validated"),await this._processClaims(e,t==null?void 0:t.skipUserInfo,e.isOpenId),r.debug("claims processed")}async validateCredentialsResponse(e,t){let r=this._logger.create("validateCredentialsResponse");e.isOpenId&&e.id_token&&this._validateIdTokenAttributes(e),r.debug("tokens validated"),await this._processClaims(e,t,e.isOpenId),r.debug("claims processed")}async validateRefreshResponse(e,t){var n,s;let r=this._logger.create("validateRefreshResponse");e.userState=t.data,(n=e.session_state)!=null||(e.session_state=t.session_state),(s=e.scope)!=null||(e.scope=t.scope),e.isOpenId&&e.id_token&&(this._validateIdTokenAttributes(e,t.id_token),r.debug("ID Token validated")),e.id_token||(e.id_token=t.id_token,e.profile=t.profile);let i=e.isOpenId&&!!e.id_token;await this._processClaims(e,!1,i),r.debug("claims processed")}validateSignoutResponse(e,t){let r=this._logger.create("validateSignoutResponse");if(t.id!==e.state&&r.throw(new Error("State does not match")),r.debug("state validated"),e.userState=t.data,e.error)throw r.warn("Response was error",e.error),new E(e)}_processSigninState(e,t){var i;let r=this._logger.create("_processSigninState");if(t.id!==e.state&&r.throw(new Error("State does not match")),t.client_id||r.throw(new Error("No client_id on state")),t.authority||r.throw(new Error("No authority on state")),this._settings.authority!==t.authority&&r.throw(new Error("authority mismatch on settings vs. signin state")),this._settings.client_id&&this._settings.client_id!==t.client_id&&r.throw(new Error("client_id mismatch on settings vs. signin state")),r.debug("state validated"),e.userState=t.data,e.url_state=t.url_state,(i=e.scope)!=null||(e.scope=t.scope),e.error)throw r.warn("Response was error",e.error),new E(e);t.code_verifier&&!e.code&&r.throw(new Error("Expected code in response"))}async _processClaims(e,t=!1,r=!0){let i=this._logger.create("_processClaims");if(e.profile=this._claimsService.filterProtocolClaims(e.profile),t||!this._settings.loadUserInfo||!e.access_token){i.debug("not loading user info");return}i.debug("loading user info");let n=await this._userInfoService.getClaims(e.access_token);i.debug("user info claims received from user info endpoint"),r&&n.sub!==e.profile.sub&&i.throw(new Error("subject from UserInfo response does not match subject in ID Token")),e.profile=this._claimsService.mergeClaims(e.profile,this._claimsService.filterProtocolClaims(n)),i.debug("user info claims received, updated profile:",e.profile)}async _processCode(e,t){let r=this._logger.create("_processCode");if(e.code){r.debug("Validating code");let i=await this._tokenClient.exchangeCode({client_id:t.client_id,client_secret:t.client_secret,code:e.code,redirect_uri:t.redirect_uri,code_verifier:t.code_verifier,...t.extraTokenParams});Object.assign(e,i)}else r.debug("No code to process")}_validateIdTokenAttributes(e,t){var n;let r=this._logger.create("_validateIdTokenAttributes");r.debug("decoding ID Token JWT");let i=K.decode((n=e.id_token)!=null?n:"");if(i.sub||r.throw(new Error("ID Token is missing a subject claim")),t){let s=K.decode(t);i.sub!==s.sub&&r.throw(new Error("sub in id_token does not match current sub")),i.auth_time&&i.auth_time!==s.auth_time&&r.throw(new Error("auth_time in id_token does not match original auth_time")),i.azp&&i.azp!==s.azp&&r.throw(new Error("azp in id_token does not match original azp")),!i.azp&&s.azp&&r.throw(new Error("azp not in id_token, but present in original id_token"))}e.profile=i}};var T=class{constructor(e){this.id=e.id||I.generateUUIDv4(),this.data=e.data,e.created&&e.created>0?this.created=e.created:this.created=k.getEpochTime(),this.request_type=e.request_type,this.url_state=e.url_state}toStorageString(){return new g("State").create("toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,url_state:this.url_state})}static fromStorageString(e){return g.createStatic("State","fromStorageString"),new T(JSON.parse(e))}static async clearStaleState(e,t){let r=g.createStatic("State","clearStaleState"),i=k.getEpochTime()-t,n=await e.getAllKeys();r.debug("got keys",n);for(let s=0;sm.searchParams.append("resource",S));for(let[y,S]of Object.entries({response_mode:c,...u,...v}))S!=null&&m.searchParams.append(y,S.toString());this.url=m.href}};var yt="openid",J=class{constructor(e){this.access_token="";this.token_type="";this.profile={};if(this.state=e.get("state"),this.session_state=e.get("session_state"),this.state){let t=decodeURIComponent(this.state).split(ae);this.state=t[0],t.length>1&&(this.url_state=t.slice(1).join(ae))}this.error=e.get("error"),this.error_description=e.get("error_description"),this.error_uri=e.get("error_uri"),this.code=e.get("code")}get expires_in(){if(this.expires_at!==void 0)return this.expires_at-k.getEpochTime()}set expires_in(e){typeof e=="string"&&(e=Number(e)),e!==void 0&&e>=0&&(this.expires_at=Math.floor(e)+k.getEpochTime())}get isOpenId(){var e;return((e=this.scope)==null?void 0:e.split(" ").includes(yt))||!!this.id_token}};var ye=class{constructor({url:e,state_data:t,id_token_hint:r,post_logout_redirect_uri:i,extraQueryParams:n,request_type:s,client_id:o}){this._logger=new g("SignoutRequest");if(!e)throw this._logger.error("ctor: No url passed"),new Error("url");let c=new URL(e);r&&c.searchParams.append("id_token_hint",r),o&&c.searchParams.append("client_id",o),i&&(c.searchParams.append("post_logout_redirect_uri",i),t&&(this.state=new T({data:t,request_type:s}),c.searchParams.append("state",this.state.id)));for(let[d,h]of Object.entries({...n}))h!=null&&c.searchParams.append(d,h.toString());this.url=c.href}};var Y=class{constructor(e){this.state=e.get("state"),this.error=e.get("error"),this.error_description=e.get("error_description"),this.error_uri=e.get("error_uri")}};var vt=["nbf","jti","auth_time","nonce","acr","amr","azp","at_hash"],kt=["sub","iss","aud","exp","iat"],ve=class{constructor(e){this._settings=e;this._logger=new g("ClaimsService")}filterProtocolClaims(e){let t={...e};if(this._settings.filterProtocolClaims){let r;Array.isArray(this._settings.filterProtocolClaims)?r=this._settings.filterProtocolClaims:r=vt;for(let i of r)kt.includes(i)||delete t[i]}return t}mergeClaims(e,t){let r={...e};for(let[i,n]of Object.entries(t))for(let s of Array.isArray(n)?n:[n]){let o=r[i];o===void 0?r[i]=s:Array.isArray(o)?o.includes(s)||o.push(s):r[i]!==s&&(typeof s=="object"&&this._settings.mergeClaims?r[i]=this.mergeClaims(o,s):r[i]=[o,s])}return r}};var ce=class{constructor(e,t){this._logger=new g("OidcClient");this.settings=e instanceof N?e:new N(e),this.metadataService=t!=null?t:new G(this.settings),this._claimsService=new ve(this.settings),this._validator=new Se(this.settings,this.metadataService,this._claimsService),this._tokenClient=new X(this.settings,this.metadataService)}async createSigninRequest({state:e,request:t,request_uri:r,request_type:i,id_token_hint:n,login_hint:s,skipUserInfo:o,nonce:c,url_state:d,response_type:h=this.settings.response_type,scope:f=this.settings.scope,redirect_uri:p=this.settings.redirect_uri,prompt:_=this.settings.prompt,display:b=this.settings.display,max_age:v=this.settings.max_age,ui_locales:x=this.settings.ui_locales,acr_values:a=this.settings.acr_values,resource:u=this.settings.resource,response_mode:m=this.settings.response_mode,extraQueryParams:w=this.settings.extraQueryParams,extraTokenParams:y=this.settings.extraTokenParams}){let S=this._logger.create("createSigninRequest");if(h!=="code")throw new Error("Only the Authorization Code flow (with PKCE) is supported");let C=await this.metadataService.getAuthorizationEndpoint();S.debug("Received authorization endpoint",C);let R=new be({url:C,authority:this.settings.authority,client_id:this.settings.client_id,redirect_uri:p,response_type:h,scope:f,state_data:e,url_state:d,prompt:_,display:b,max_age:v,ui_locales:x,id_token_hint:n,login_hint:s,acr_values:a,resource:u,request:t,request_uri:r,extraQueryParams:w,extraTokenParams:y,request_type:i,response_mode:m,client_secret:this.settings.client_secret,skipUserInfo:o,nonce:c,disablePKCE:this.settings.disablePKCE});await this.clearStaleState();let P=R.state;return await this.settings.stateStore.set(P.id,P.toStorageString()),R}async readSigninResponseState(e,t=!1){let r=this._logger.create("readSigninResponseState"),i=new J($.readParams(e,this.settings.response_mode));if(!i.state)throw r.throw(new Error("No state in response")),null;let n=await this.settings.stateStore[t?"remove":"get"](i.state);if(!n)throw r.throw(new Error("No matching state found in storage")),null;return{state:M.fromStorageString(n),response:i}}async processSigninResponse(e){let t=this._logger.create("processSigninResponse"),{state:r,response:i}=await this.readSigninResponseState(e,!0);return t.debug("received state from storage; validating response"),await this._validator.validateSigninResponse(i,r),i}async processResourceOwnerPasswordCredentials({username:e,password:t,skipUserInfo:r=!1,extraTokenParams:i={}}){let n=await this._tokenClient.exchangeCredentials({username:e,password:t,...i}),s=new J(new URLSearchParams);return Object.assign(s,n),await this._validator.validateCredentialsResponse(s,r),s}async useRefreshToken({state:e,timeoutInSeconds:t}){var o;let r=this._logger.create("useRefreshToken"),i;if(this.settings.refreshTokenAllowedScope===void 0)i=e.scope;else{let c=this.settings.refreshTokenAllowedScope.split(" ");i=(((o=e.scope)==null?void 0:o.split(" "))||[]).filter(h=>c.includes(h)).join(" ")}let n=await this._tokenClient.exchangeRefreshToken({refresh_token:e.refresh_token,resource:e.resource,scope:i,timeoutInSeconds:t}),s=new J(new URLSearchParams);return Object.assign(s,n),r.debug("validating response",s),await this._validator.validateRefreshResponse(s,{...e,scope:i}),s}async createSignoutRequest({state:e,id_token_hint:t,client_id:r,request_type:i,post_logout_redirect_uri:n=this.settings.post_logout_redirect_uri,extraQueryParams:s=this.settings.extraQueryParams}={}){let o=this._logger.create("createSignoutRequest"),c=await this.metadataService.getEndSessionEndpoint();if(!c)throw o.throw(new Error("No end session endpoint")),null;o.debug("Received end session endpoint",c),!r&&n&&!t&&(r=this.settings.client_id);let d=new ye({url:c,id_token_hint:t,client_id:r,post_logout_redirect_uri:n,state_data:e,extraQueryParams:s,request_type:i});await this.clearStaleState();let h=d.state;return h&&(o.debug("Signout request has state to persist"),await this.settings.stateStore.set(h.id,h.toStorageString())),d}async readSignoutResponseState(e,t=!1){let r=this._logger.create("readSignoutResponseState"),i=new Y($.readParams(e,this.settings.response_mode));if(!i.state){if(r.debug("No state in response"),i.error)throw r.warn("Response was error:",i.error),new E(i);return{state:void 0,response:i}}let n=await this.settings.stateStore[t?"remove":"get"](i.state);if(!n)throw r.throw(new Error("No matching state found in storage")),null;return{state:T.fromStorageString(n),response:i}}async processSignoutResponse(e){let t=this._logger.create("processSignoutResponse"),{state:r,response:i}=await this.readSignoutResponseState(e,!0);return r?(t.debug("Received state from storage; validating response"),this._validator.validateSignoutResponse(i,r)):t.debug("No state from storage; skipping response validation"),i}clearStaleState(){return this._logger.create("clearStaleState"),T.clearStaleState(this.settings.stateStore,this.settings.staleStateAgeInSeconds)}async revokeToken(e,t){return this._logger.create("revokeToken"),await this._tokenClient.revoke({token:e,token_type_hint:t})}};var Z=class{constructor(e){this._userManager=e;this._logger=new g("SessionMonitor");this._start=async e=>{let t=e.session_state;if(!t)return;let r=this._logger.create("_start");if(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,r.debug("session_state",t,", sub",this._sub)):(this._sub=void 0,this._sid=void 0,r.debug("session_state",t,", anonymous user")),this._checkSessionIFrame){this._checkSessionIFrame.start(t);return}try{let i=await this._userManager.metadataService.getCheckSessionIframe();if(i){r.debug("initializing check session iframe");let n=this._userManager.settings.client_id,s=this._userManager.settings.checkSessionIntervalInSeconds,o=this._userManager.settings.stopCheckSessionOnError,c=new V(this._callback,n,i,s,o);await c.load(),this._checkSessionIFrame=c,c.start(t)}else r.warn("no check session iframe found in the metadata")}catch(i){r.error("Error from getCheckSessionIframe:",i instanceof Error?i.message:i)}};this._stop=()=>{let e=this._logger.create("_stop");if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&this._checkSessionIFrame.stop(),this._userManager.settings.monitorAnonymousSession){let t=setInterval(async()=>{clearInterval(t);try{let r=await this._userManager.querySessionStatus();if(r){let i={session_state:r.session_state,profile:r.sub&&r.sid?{sub:r.sub,sid:r.sid}:null};this._start(i)}}catch(r){e.error("error from querySessionStatus",r instanceof Error?r.message:r)}},1e3)}};this._callback=async()=>{let e=this._logger.create("_callback");try{let t=await this._userManager.querySessionStatus(),r=!0;t&&this._checkSessionIFrame?t.sub===this._sub?(r=!1,this._checkSessionIFrame.start(t.session_state),t.sid===this._sid?e.debug("same sub still logged in at OP, restarting check session iframe; session_state",t.session_state):(e.debug("same sub still logged in at OP, session state has changed, restarting check session iframe; session_state",t.session_state),this._userManager.events._raiseUserSessionChanged())):e.debug("different subject signed into OP",t.sub):e.debug("subject no longer signed into OP"),r?this._sub?this._userManager.events._raiseUserSignedOut():this._userManager.events._raiseUserSignedIn():e.debug("no change in session detected, no event to raise")}catch(t){this._sub&&(e.debug("Error calling queryCurrentSigninSession; raising signed out event",t),this._userManager.events._raiseUserSignedOut())}};e||this._logger.throw(new Error("No user manager passed")),this._userManager.events.addUserLoaded(this._start),this._userManager.events.addUserUnloaded(this._stop),this._init().catch(t=>{this._logger.error(t)})}async _init(){this._logger.create("_init");let e=await this._userManager.getUser();if(e)this._start(e);else if(this._userManager.settings.monitorAnonymousSession){let t=await this._userManager.querySessionStatus();if(t){let r={session_state:t.session_state,profile:t.sub&&t.sid?{sub:t.sub,sid:t.sid}:null};this._start(r)}}}};var W=class{constructor(e){var t;this.id_token=e.id_token,this.session_state=(t=e.session_state)!=null?t:null,this.access_token=e.access_token,this.refresh_token=e.refresh_token,this.token_type=e.token_type,this.scope=e.scope,this.profile=e.profile,this.expires_at=e.expires_at,this.state=e.userState,this.url_state=e.url_state}get expires_in(){if(this.expires_at!==void 0)return this.expires_at-k.getEpochTime()}set expires_in(e){e!==void 0&&(this.expires_at=Math.floor(e)+k.getEpochTime())}get expired(){let e=this.expires_in;if(e!==void 0)return e<=0}get scopes(){var e,t;return(t=(e=this.scope)==null?void 0:e.split(" "))!=null?t:[]}toStorageString(){return new g("User").create("toStorageString"),JSON.stringify({id_token:this.id_token,session_state:this.session_state,access_token:this.access_token,refresh_token:this.refresh_token,token_type:this.token_type,scope:this.scope,profile:this.profile,expires_at:this.expires_at})}static fromStorageString(e){return g.createStatic("User","fromStorageString"),new W(JSON.parse(e))}};var Ye="oidc-client",ee=class{constructor(){this._abort=new U("Window navigation aborted");this._disposeHandlers=new Set;this._window=null}async navigate(e){let t=this._logger.create("navigate");if(!this._window)throw new Error("Attempted to navigate on a disposed window");t.debug("setting URL in window"),this._window.location.replace(e.url);let{url:r,keepOpen:i}=await new Promise((n,s)=>{let o=c=>{var f;let d=c.data,h=(f=e.scriptOrigin)!=null?f:window.location.origin;if(!(c.origin!==h||(d==null?void 0:d.source)!==Ye)){try{let p=$.readParams(d.url,e.response_mode).get("state");if(p||t.warn("no state found in response url"),c.source!==this._window&&p!==e.state)return}catch{this._dispose(),s(new Error("Invalid response from window"))}n(d)}};window.addEventListener("message",o,!1),this._disposeHandlers.add(()=>window.removeEventListener("message",o,!1)),this._disposeHandlers.add(this._abort.addHandler(c=>{this._dispose(),s(c)}))});return t.debug("got response from window"),this._dispose(),i||this.close(),{url:r}}_dispose(){this._logger.create("_dispose");for(let e of this._disposeHandlers)e();this._disposeHandlers.clear()}static _notifyParent(e,t,r=!1,i=window.location.origin){e.postMessage({source:Ye,url:t,keepOpen:r},i)}};var Oe={location:!1,toolbar:!1,height:640,closePopupWindowAfterInSeconds:-1},qe="_blank",xt=60,Rt=2,Me=10,te=class extends N{constructor(t){let{popup_redirect_uri:r=t.redirect_uri,popup_post_logout_redirect_uri:i=t.post_logout_redirect_uri,popupWindowFeatures:n=Oe,popupWindowTarget:s=qe,redirectMethod:o="assign",redirectTarget:c="self",iframeNotifyParentOrigin:d=t.iframeNotifyParentOrigin,iframeScriptOrigin:h=t.iframeScriptOrigin,silent_redirect_uri:f=t.redirect_uri,silentRequestTimeoutInSeconds:p=Me,automaticSilentRenew:_=!0,validateSubOnSilentRenew:b=!0,includeIdTokenInSilentRenew:v=!1,monitorSession:x=!1,monitorAnonymousSession:a=!1,checkSessionIntervalInSeconds:u=Rt,query_status_response_type:m="code",stopCheckSessionOnError:w=!0,revokeTokenTypes:y=["access_token","refresh_token"],revokeTokensOnSignout:S=!1,includeIdTokenInSilentSignout:C=!1,accessTokenExpiringNotificationTimeInSeconds:R=xt,userStore:P}=t;super(t);if(this.popup_redirect_uri=r,this.popup_post_logout_redirect_uri=i,this.popupWindowFeatures=n,this.popupWindowTarget=s,this.redirectMethod=o,this.redirectTarget=c,this.iframeNotifyParentOrigin=d,this.iframeScriptOrigin=h,this.silent_redirect_uri=f,this.silentRequestTimeoutInSeconds=p,this.automaticSilentRenew=_,this.validateSubOnSilentRenew=b,this.includeIdTokenInSilentRenew=v,this.monitorSession=x,this.monitorAnonymousSession=a,this.checkSessionIntervalInSeconds=u,this.stopCheckSessionOnError=w,this.query_status_response_type=m,this.revokeTokenTypes=y,this.revokeTokensOnSignout=S,this.includeIdTokenInSilentSignout=C,this.accessTokenExpiringNotificationTimeInSeconds=R,P)this.userStore=P;else{let H=typeof window!="undefined"?window.sessionStorage:new j;this.userStore=new B({store:H})}}};var z=class extends ee{constructor({silentRequestTimeoutInSeconds:t=Me}){super();this._logger=new g("IFrameWindow");this._timeoutInSeconds=t,this._frame=z.createHiddenIframe(),this._window=this._frame.contentWindow}static createHiddenIframe(){let t=window.document.createElement("iframe");return t.style.visibility="hidden",t.style.position="fixed",t.style.left="-1000px",t.style.top="0",t.width="0",t.height="0",window.document.body.appendChild(t),t}async navigate(t){this._logger.debug("navigate: Using timeout of:",this._timeoutInSeconds);let r=setTimeout(()=>this._abort.raise(new q("IFrame timed out without a response")),this._timeoutInSeconds*1e3);return this._disposeHandlers.add(()=>clearTimeout(r)),await super.navigate(t)}close(){var t;this._frame&&(this._frame.parentNode&&(this._frame.addEventListener("load",r=>{var n;let i=r.target;(n=i.parentNode)==null||n.removeChild(i),this._abort.raise(new Error("IFrame removed from DOM"))},!0),(t=this._frame.contentWindow)==null||t.location.replace("about:blank")),this._frame=null),this._window=null}static notifyParent(t,r){return super._notifyParent(window.parent,t,!1,r)}};var ke=class{constructor(e){this._settings=e;this._logger=new g("IFrameNavigator")}async prepare({silentRequestTimeoutInSeconds:e=this._settings.silentRequestTimeoutInSeconds}){return new z({silentRequestTimeoutInSeconds:e})}async callback(e){this._logger.create("callback"),z.notifyParent(e,this._settings.iframeNotifyParentOrigin)}};var Pt=500,Ct=1e3,le=class extends ee{constructor({popupWindowTarget:t=qe,popupWindowFeatures:r={}}){super();this._logger=new g("PopupWindow");let i=oe.center({...Oe,...r});this._window=window.open(void 0,t,oe.serialize(i)),r.closePopupWindowAfterInSeconds&&r.closePopupWindowAfterInSeconds>0&&setTimeout(()=>{if(!this._window||typeof this._window.closed!="boolean"||this._window.closed){this._abort.raise(new Error("Popup blocked by user"));return}this.close()},r.closePopupWindowAfterInSeconds*Ct)}async navigate(t){var i;(i=this._window)==null||i.focus();let r=setInterval(()=>{(!this._window||this._window.closed)&&this._abort.raise(new Error("Popup closed by user"))},Pt);return this._disposeHandlers.add(()=>clearInterval(r)),await super.navigate(t)}close(){this._window&&(this._window.closed||(this._window.close(),this._abort.raise(new Error("Popup closed")))),this._window=null}static notifyOpener(t,r){if(!window.opener)throw new Error("No window.opener. Can't complete notification.");return super._notifyParent(window.opener,t,r)}};var xe=class{constructor(e){this._settings=e;this._logger=new g("PopupNavigator")}async prepare({popupWindowFeatures:e=this._settings.popupWindowFeatures,popupWindowTarget:t=this._settings.popupWindowTarget}){return new le({popupWindowFeatures:e,popupWindowTarget:t})}async callback(e,{keepOpen:t=!1}){this._logger.create("callback"),le.notifyOpener(e,t)}};var Re=class{constructor(e){this._settings=e;this._logger=new g("RedirectNavigator")}async prepare({redirectMethod:e=this._settings.redirectMethod,redirectTarget:t=this._settings.redirectTarget}){var s;this._logger.create("prepare");let r=window.self;t==="top"&&(r=(s=window.top)!=null?s:window.self);let i=r.location[e].bind(r.location),n;return{navigate:async o=>{this._logger.create("navigate");let c=new Promise((d,h)=>{n=h});return i(o.url),await c},close:()=>{this._logger.create("close"),n==null||n(new Error("Redirect aborted")),r.stop()}}}async callback(){}};var Pe=class extends Q{constructor(t){super({expiringNotificationTimeInSeconds:t.accessTokenExpiringNotificationTimeInSeconds});this._logger=new g("UserManagerEvents");this._userLoaded=new U("User loaded");this._userUnloaded=new U("User unloaded");this._silentRenewError=new U("Silent renew error");this._userSignedIn=new U("User signed in");this._userSignedOut=new U("User signed out");this._userSessionChanged=new U("User session changed")}load(t,r=!0){super.load(t),r&&this._userLoaded.raise(t)}unload(){super.unload(),this._userUnloaded.raise()}addUserLoaded(t){return this._userLoaded.addHandler(t)}removeUserLoaded(t){return this._userLoaded.removeHandler(t)}addUserUnloaded(t){return this._userUnloaded.addHandler(t)}removeUserUnloaded(t){return this._userUnloaded.removeHandler(t)}addSilentRenewError(t){return this._silentRenewError.addHandler(t)}removeSilentRenewError(t){return this._silentRenewError.removeHandler(t)}_raiseSilentRenewError(t){this._silentRenewError.raise(t)}addUserSignedIn(t){return this._userSignedIn.addHandler(t)}removeUserSignedIn(t){this._userSignedIn.removeHandler(t)}_raiseUserSignedIn(){this._userSignedIn.raise()}addUserSignedOut(t){return this._userSignedOut.addHandler(t)}removeUserSignedOut(t){this._userSignedOut.removeHandler(t)}_raiseUserSignedOut(){this._userSignedOut.raise()}addUserSessionChanged(t){return this._userSessionChanged.addHandler(t)}removeUserSessionChanged(t){this._userSessionChanged.removeHandler(t)}_raiseUserSessionChanged(){this._userSessionChanged.raise()}};var Ce=class{constructor(e){this._userManager=e;this._logger=new g("SilentRenewService");this._isStarted=!1;this._retryTimer=new k("Retry Silent Renew");this._tokenExpiring=async()=>{let e=this._logger.create("_tokenExpiring");try{await this._userManager.signinSilent(),e.debug("silent token renewal successful")}catch(t){if(t instanceof q){e.warn("ErrorTimeout from signinSilent:",t,"retry in 5s"),this._retryTimer.init(5);return}e.error("Error from signinSilent:",t),this._userManager.events._raiseSilentRenewError(t)}}}async start(){let e=this._logger.create("start");if(!this._isStarted){this._isStarted=!0,this._userManager.events.addAccessTokenExpiring(this._tokenExpiring),this._retryTimer.addHandler(this._tokenExpiring);try{await this._userManager.getUser()}catch(t){e.error("getUser error",t)}}}stop(){this._isStarted&&(this._retryTimer.cancel(),this._retryTimer.removeHandler(this._tokenExpiring),this._userManager.events.removeAccessTokenExpiring(this._tokenExpiring),this._isStarted=!1)}};var Ie=class{constructor(e,t){this.refresh_token=e.refresh_token,this.id_token=e.id_token,this.session_state=e.session_state,this.scope=e.scope,this.profile=e.profile,this.resource=t,this.data=e.state}};var We=class{constructor(e,t,r,i){this._logger=new g("UserManager");this.settings=new te(e),this._client=new ce(e),this._redirectNavigator=t!=null?t:new Re(this.settings),this._popupNavigator=r!=null?r:new xe(this.settings),this._iframeNavigator=i!=null?i:new ke(this.settings),this._events=new Pe(this.settings),this._silentRenewService=new Ce(this),this.settings.automaticSilentRenew&&this.startSilentRenew(),this._sessionMonitor=null,this.settings.monitorSession&&(this._sessionMonitor=new Z(this))}get events(){return this._events}get metadataService(){return this._client.metadataService}async getUser(){let e=this._logger.create("getUser"),t=await this._loadUser();return t?(e.info("user loaded"),this._events.load(t,!1),t):(e.info("user not found in storage"),null)}async removeUser(){let e=this._logger.create("removeUser");await this.storeUser(null),e.info("user removed from storage"),this._events.unload()}async signinRedirect(e={}){this._logger.create("signinRedirect");let{redirectMethod:t,...r}=e,i=await this._redirectNavigator.prepare({redirectMethod:t});await this._signinStart({request_type:"si:r",...r},i)}async signinRedirectCallback(e=window.location.href){let t=this._logger.create("signinRedirectCallback"),r=await this._signinEnd(e);return r.profile&&r.profile.sub?t.info("success, signed in subject",r.profile.sub):t.info("no subject"),r}async signinResourceOwnerCredentials({username:e,password:t,skipUserInfo:r=!1}){let i=this._logger.create("signinResourceOwnerCredential"),n=await this._client.processResourceOwnerPasswordCredentials({username:e,password:t,skipUserInfo:r,extraTokenParams:this.settings.extraTokenParams});i.debug("got signin response");let s=await this._buildUser(n);return s.profile&&s.profile.sub?i.info("success, signed in subject",s.profile.sub):i.info("no subject"),s}async signinPopup(e={}){let t=this._logger.create("signinPopup"),{popupWindowFeatures:r,popupWindowTarget:i,...n}=e,s=this.settings.popup_redirect_uri;s||t.throw(new Error("No popup_redirect_uri configured"));let o=await this._popupNavigator.prepare({popupWindowFeatures:r,popupWindowTarget:i}),c=await this._signin({request_type:"si:p",redirect_uri:s,display:"popup",...n},o);return c&&(c.profile&&c.profile.sub?t.info("success, signed in subject",c.profile.sub):t.info("no subject")),c}async signinPopupCallback(e=window.location.href,t=!1){let r=this._logger.create("signinPopupCallback");await this._popupNavigator.callback(e,{keepOpen:t}),r.info("success")}async signinSilent(e={}){var h;let t=this._logger.create("signinSilent"),{silentRequestTimeoutInSeconds:r,resource:i,...n}=e,s=await this._loadUser();if(s!=null&&s.refresh_token){t.debug("using refresh token");let f=new Ie(s,i);return await this._useRefreshToken(f)}let o=this.settings.silent_redirect_uri;o||t.throw(new Error("No silent_redirect_uri configured"));let c;s&&this.settings.validateSubOnSilentRenew&&(t.debug("subject prior to silent renew:",s.profile.sub),c=s.profile.sub);let d=await this._iframeNavigator.prepare({silentRequestTimeoutInSeconds:r});return s=await this._signin({request_type:"si:s",redirect_uri:o,prompt:"none",id_token_hint:this.settings.includeIdTokenInSilentRenew?s==null?void 0:s.id_token:void 0,...n},d,c),s&&((h=s.profile)!=null&&h.sub?t.info("success, signed in subject",s.profile.sub):t.info("no subject")),s}async _useRefreshToken(e){let t=await this._client.useRefreshToken({state:e,timeoutInSeconds:this.settings.silentRequestTimeoutInSeconds}),r=new W({...e,...t});return await this.storeUser(r),this._events.load(r),r}async signinSilentCallback(e=window.location.href){let t=this._logger.create("signinSilentCallback");await this._iframeNavigator.callback(e),t.info("success")}async signinCallback(e=window.location.href){let{state:t}=await this._client.readSigninResponseState(e);switch(t.request_type){case"si:r":return await this.signinRedirectCallback(e);case"si:p":return await this.signinPopupCallback(e);case"si:s":return await this.signinSilentCallback(e);default:throw new Error("invalid response_type in state")}}async signoutCallback(e=window.location.href,t=!1){let{state:r}=await this._client.readSignoutResponseState(e);if(r)switch(r.request_type){case"so:r":return await this.signoutRedirectCallback(e);case"so:p":await this.signoutPopupCallback(e,t);break;case"so:s":await this.signoutSilentCallback(e);break;default:throw new Error("invalid response_type in state")}}async querySessionStatus(e={}){let t=this._logger.create("querySessionStatus"),{silentRequestTimeoutInSeconds:r,...i}=e,n=this.settings.silent_redirect_uri;n||t.throw(new Error("No silent_redirect_uri configured"));let s=await this._loadUser(),o=await this._iframeNavigator.prepare({silentRequestTimeoutInSeconds:r}),c=await this._signinStart({request_type:"si:s",redirect_uri:n,prompt:"none",id_token_hint:this.settings.includeIdTokenInSilentRenew?s==null?void 0:s.id_token:void 0,response_type:this.settings.query_status_response_type,scope:"openid",skipUserInfo:!0,...i},o);try{let d=await this._client.processSigninResponse(c.url);return t.debug("got signin response"),d.session_state&&d.profile.sub?(t.info("success for subject",d.profile.sub),{session_state:d.session_state,sub:d.profile.sub,sid:d.profile.sid}):(t.info("success, user not authenticated"),null)}catch(d){if(this.settings.monitorAnonymousSession&&d instanceof E)switch(d.error){case"login_required":case"consent_required":case"interaction_required":case"account_selection_required":return t.info("success for anonymous user"),{session_state:d.session_state}}throw d}}async _signin(e,t,r){let i=await this._signinStart(e,t);return await this._signinEnd(i.url,r)}async _signinStart(e,t){let r=this._logger.create("_signinStart");try{let i=await this._client.createSigninRequest(e);return r.debug("got signin request"),await t.navigate({url:i.url,state:i.state.id,response_mode:i.state.response_mode,scriptOrigin:this.settings.iframeScriptOrigin})}catch(i){throw r.debug("error after preparing navigator, closing navigator window"),t.close(),i}}async _signinEnd(e,t){let r=this._logger.create("_signinEnd"),i=await this._client.processSigninResponse(e);return r.debug("got signin response"),await this._buildUser(i,t)}async _buildUser(e,t){let r=this._logger.create("_buildUser"),i=new W(e);if(t){if(t!==i.profile.sub)throw r.debug("current user does not match user returned from signin. sub from signin:",i.profile.sub),new E({...e,error:"login_required"});r.debug("current user matches user returned from signin")}return await this.storeUser(i),r.debug("user stored"),this._events.load(i),i}async signoutRedirect(e={}){let t=this._logger.create("signoutRedirect"),{redirectMethod:r,...i}=e,n=await this._redirectNavigator.prepare({redirectMethod:r});await this._signoutStart({request_type:"so:r",post_logout_redirect_uri:this.settings.post_logout_redirect_uri,...i},n),t.info("success")}async signoutRedirectCallback(e=window.location.href){let t=this._logger.create("signoutRedirectCallback"),r=await this._signoutEnd(e);return t.info("success"),r}async signoutPopup(e={}){let t=this._logger.create("signoutPopup"),{popupWindowFeatures:r,popupWindowTarget:i,...n}=e,s=this.settings.popup_post_logout_redirect_uri,o=await this._popupNavigator.prepare({popupWindowFeatures:r,popupWindowTarget:i});await this._signout({request_type:"so:p",post_logout_redirect_uri:s,state:s==null?void 0:{},...n},o),t.info("success")}async signoutPopupCallback(e=window.location.href,t=!1){let r=this._logger.create("signoutPopupCallback");await this._popupNavigator.callback(e,{keepOpen:t}),r.info("success")}async _signout(e,t){let r=await this._signoutStart(e,t);return await this._signoutEnd(r.url)}async _signoutStart(e={},t){var i;let r=this._logger.create("_signoutStart");try{let n=await this._loadUser();r.debug("loaded current user from storage"),this.settings.revokeTokensOnSignout&&await this._revokeInternal(n);let s=e.id_token_hint||n&&n.id_token;s&&(r.debug("setting id_token_hint in signout request"),e.id_token_hint=s),await this.removeUser(),r.debug("user removed, creating signout request");let o=await this._client.createSignoutRequest(e);return r.debug("got signout request"),await t.navigate({url:o.url,state:(i=o.state)==null?void 0:i.id,scriptOrigin:this.settings.iframeScriptOrigin})}catch(n){throw r.debug("error after preparing navigator, closing navigator window"),t.close(),n}}async _signoutEnd(e){let t=this._logger.create("_signoutEnd"),r=await this._client.processSignoutResponse(e);return t.debug("got signout response"),r}async signoutSilent(e={}){var c;let t=this._logger.create("signoutSilent"),{silentRequestTimeoutInSeconds:r,...i}=e,n=this.settings.includeIdTokenInSilentSignout?(c=await this._loadUser())==null?void 0:c.id_token:void 0,s=this.settings.popup_post_logout_redirect_uri,o=await this._iframeNavigator.prepare({silentRequestTimeoutInSeconds:r});await this._signout({request_type:"so:s",post_logout_redirect_uri:s,id_token_hint:n,...i},o),t.info("success")}async signoutSilentCallback(e=window.location.href){let t=this._logger.create("signoutSilentCallback");await this._iframeNavigator.callback(e),t.info("success")}async revokeTokens(e){let t=await this._loadUser();await this._revokeInternal(t,e)}async _revokeInternal(e,t=this.settings.revokeTokenTypes){let r=this._logger.create("_revokeInternal");if(!e)return;let i=t.filter(n=>typeof e[n]=="string");if(!i.length){r.debug("no need to revoke due to no token(s)");return}for(let n of i)await this._client.revokeToken(e[n],n),r.info(`${n} revoked successfully`),n!=="access_token"&&(e[n]=null);await this.storeUser(e),r.debug("user stored"),this._events.load(e)}startSilentRenew(){this._logger.create("startSilentRenew"),this._silentRenewService.start()}stopSilentRenew(){this._silentRenewService.stop()}get _userStoreKey(){return`user:${this.settings.authority}:${this.settings.client_id}`}async _loadUser(){let e=this._logger.create("_loadUser"),t=await this.settings.userStore.get(this._userStoreKey);return t?(e.debug("user storageString loaded"),W.fromStorageString(t)):(e.debug("no user storageString"),null)}async storeUser(e){let t=this._logger.create("storeUser");if(e){t.debug("storing user");let r=e.toStorageString();await this.settings.userStore.set(this._userStoreKey,r)}else this._logger.debug("removing user"),await this.settings.userStore.remove(this._userStoreKey)}async clearStaleState(){await this._client.clearStaleState()}};var Ze="2.4.1";var et=Ze;return dt(Et);})(); //# sourceMappingURL=oidc-client-ts.min.js.map From 9dac5772b7cd709354788623d7312b69c13a7cc2 Mon Sep 17 00:00:00 2001 From: Geert van Horrik Date: Wed, 9 Oct 2024 13:35:23 +0200 Subject: [PATCH 86/86] csproj cleanup --- .../Blorc.OpenIdConnect.csproj | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj index d4cf0251..a2de65d4 100644 --- a/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj +++ b/src/Blorc.OpenIdConnect/Blorc.OpenIdConnect.csproj @@ -1,6 +1,6 @@  - net6.0;net8.0 + net8.0 Blorc.OpenIdConnect Blorc.OpenIdConnect Blorc.OpenIdConnect @@ -24,26 +24,13 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - - - + + + - +