Stabilize U
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IO.Redist" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -0,0 +1,260 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v6.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v6.0": {
|
||||
"Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost/4.14.0-3.25262.10": {
|
||||
"dependencies": {
|
||||
"Microsoft.Build.Locator": "1.6.10",
|
||||
"Microsoft.CodeAnalysis.NetAnalyzers": "8.0.0-preview.23468.1",
|
||||
"Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers": "3.3.4-beta1.22504.1",
|
||||
"Microsoft.DotNet.XliffTasks": "9.0.0-beta.25255.5",
|
||||
"Microsoft.VisualStudio.Threading.Analyzers": "17.13.2",
|
||||
"Newtonsoft.Json": "13.0.3",
|
||||
"Roslyn.Diagnostics.Analyzers": "3.11.0-beta1.24081.1",
|
||||
"System.Collections.Immutable": "9.0.0",
|
||||
"System.CommandLine": "2.0.0-beta4.24528.1"
|
||||
},
|
||||
"runtime": {
|
||||
"Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.dll": {}
|
||||
},
|
||||
"resources": {
|
||||
"cs/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"de/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"es/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"fr/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"it/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"ja/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"ko/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"pl/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"pt-BR/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"ru/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"tr/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"zh-Hans/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"zh-Hant/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Build.Locator/1.6.10": {
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.Build.Locator.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.6.10.57384"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeAnalysis.BannedApiAnalyzers/3.11.0-beta1.24081.1": {},
|
||||
"Microsoft.CodeAnalysis.NetAnalyzers/8.0.0-preview.23468.1": {},
|
||||
"Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers/3.3.4-beta1.22504.1": {},
|
||||
"Microsoft.CodeAnalysis.PublicApiAnalyzers/3.11.0-beta1.24081.1": {},
|
||||
"Microsoft.DotNet.XliffTasks/9.0.0-beta.25255.5": {},
|
||||
"Microsoft.VisualStudio.Threading.Analyzers/17.13.2": {},
|
||||
"Newtonsoft.Json/13.0.3": {
|
||||
"runtime": {
|
||||
"lib/net6.0/Newtonsoft.Json.dll": {
|
||||
"assemblyVersion": "13.0.0.0",
|
||||
"fileVersion": "13.0.3.27908"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Roslyn.Diagnostics.Analyzers/3.11.0-beta1.24081.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.BannedApiAnalyzers": "3.11.0-beta1.24081.1",
|
||||
"Microsoft.CodeAnalysis.PublicApiAnalyzers": "3.11.0-beta1.24081.1"
|
||||
}
|
||||
},
|
||||
"System.Collections.Immutable/9.0.0": {
|
||||
"dependencies": {
|
||||
"System.Memory": "4.5.5",
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.Collections.Immutable.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.CommandLine/2.0.0-beta4.24528.1": {
|
||||
"dependencies": {
|
||||
"System.Memory": "4.5.5"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.CommandLine.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.24.52801"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/netstandard2.0/cs/System.CommandLine.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/netstandard2.0/de/System.CommandLine.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/netstandard2.0/es/System.CommandLine.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/netstandard2.0/fr/System.CommandLine.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/netstandard2.0/it/System.CommandLine.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/netstandard2.0/ja/System.CommandLine.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/netstandard2.0/ko/System.CommandLine.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/netstandard2.0/pl/System.CommandLine.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/netstandard2.0/pt-BR/System.CommandLine.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/netstandard2.0/ru/System.CommandLine.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/netstandard2.0/tr/System.CommandLine.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/netstandard2.0/zh-Hans/System.CommandLine.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/netstandard2.0/zh-Hant/System.CommandLine.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Memory/4.5.5": {},
|
||||
"System.Runtime.CompilerServices.Unsafe/6.0.0": {}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost/4.14.0-3.25262.10": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.Build.Locator/1.6.10": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-DJhCkTGqy1LMJzEmG/2qxRTMHwdPc3WdVoGQI5o5mKHVo4dsHrCMLIyruwU/NSvPNSdvONlaf7jdFXnAMuxAuA==",
|
||||
"path": "microsoft.build.locator/1.6.10",
|
||||
"hashPath": "microsoft.build.locator.1.6.10.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.BannedApiAnalyzers/3.11.0-beta1.24081.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-DH6L3rsbjppLrHM2l2/NKbnMaYd0NFHx2pjZaFdrVcRkONrV3i9FHv6Id8Dp6/TmjhXQsJVJJFbhhjkpuP1xxg==",
|
||||
"path": "microsoft.codeanalysis.bannedapianalyzers/3.11.0-beta1.24081.1",
|
||||
"hashPath": "microsoft.codeanalysis.bannedapianalyzers.3.11.0-beta1.24081.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.NetAnalyzers/8.0.0-preview.23468.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ZhIvyxmUCqb8OiU/VQfxfuAmIB4lQsjqhMVYKeoyxzSI+d7uR5Pzx3ZKoaIhPizQ15wa4lnyD6wg3TnSJ6P4LA==",
|
||||
"path": "microsoft.codeanalysis.netanalyzers/8.0.0-preview.23468.1",
|
||||
"hashPath": "microsoft.codeanalysis.netanalyzers.8.0.0-preview.23468.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers/3.3.4-beta1.22504.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-2XRlqPAzVke7Sb80+UqaC7o57OwfK+tIr+aIOxrx41RWDMeR2SBUW7kL4sd6hfLFfBNsLo3W5PT+UwfvwPaOzA==",
|
||||
"path": "microsoft.codeanalysis.performancesensitiveanalyzers/3.3.4-beta1.22504.1",
|
||||
"hashPath": "microsoft.codeanalysis.performancesensitiveanalyzers.3.3.4-beta1.22504.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.PublicApiAnalyzers/3.11.0-beta1.24081.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-3bYGBihvoNO0rhCOG1U9O50/4Q8suZ+glHqQLIAcKvnodSnSW+dYWYzTNb1UbS8pUS8nAUfxSFMwuMup/G5DtQ==",
|
||||
"path": "microsoft.codeanalysis.publicapianalyzers/3.11.0-beta1.24081.1",
|
||||
"hashPath": "microsoft.codeanalysis.publicapianalyzers.3.11.0-beta1.24081.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.DotNet.XliffTasks/9.0.0-beta.25255.5": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bb0fZB5ViPscdfYeWlmtyXJMzNkgcpkV5RWmXktfV9lwIUZgNZmFotUXrdcTyZzrN7v1tQK/Y6BGnbkP9gEsXg==",
|
||||
"path": "microsoft.dotnet.xlifftasks/9.0.0-beta.25255.5",
|
||||
"hashPath": "microsoft.dotnet.xlifftasks.9.0.0-beta.25255.5.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.VisualStudio.Threading.Analyzers/17.13.2": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Qcd8IlaTXZVq3wolBnzby1P7kWihdWaExtD8riumiKuG1sHa8EgjV/o70TMjTaeUMhomBbhfdC9OPwAHoZfnjQ==",
|
||||
"path": "microsoft.visualstudio.threading.analyzers/17.13.2",
|
||||
"hashPath": "microsoft.visualstudio.threading.analyzers.17.13.2.nupkg.sha512"
|
||||
},
|
||||
"Newtonsoft.Json/13.0.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
|
||||
"path": "newtonsoft.json/13.0.3",
|
||||
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
|
||||
},
|
||||
"Roslyn.Diagnostics.Analyzers/3.11.0-beta1.24081.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-reHqZCDKifA+DURcL8jUfYkMGL4FpgNt5LI0uWTS6IpM8kKVbu/kO8byZsqfhBu4wUzT3MBDcoMfzhZPdENIpg==",
|
||||
"path": "roslyn.diagnostics.analyzers/3.11.0-beta1.24081.1",
|
||||
"hashPath": "roslyn.diagnostics.analyzers.3.11.0-beta1.24081.1.nupkg.sha512"
|
||||
},
|
||||
"System.Collections.Immutable/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-QhkXUl2gNrQtvPmtBTQHb0YsUrDiDQ2QS09YbtTTiSjGcf7NBqtYbrG/BE06zcBPCKEwQGzIv13IVdXNOSub2w==",
|
||||
"path": "system.collections.immutable/9.0.0",
|
||||
"hashPath": "system.collections.immutable.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.CommandLine/2.0.0-beta4.24528.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Xt8tsSU8yd0ZpbT9gl5DAwkMYWLo8PV1fq2R/belrUbHVVOIKqhLfbWksbdknUDpmzMHZenBtD6AGAp9uJTa2w==",
|
||||
"path": "system.commandline/2.0.0-beta4.24528.1",
|
||||
"hashPath": "system.commandline.2.0.0-beta4.24528.1.nupkg.sha512"
|
||||
},
|
||||
"System.Memory/4.5.5": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==",
|
||||
"path": "system.memory/4.5.5",
|
||||
"hashPath": "system.memory.4.5.5.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
|
||||
"path": "system.runtime.compilerservices.unsafe/6.0.0",
|
||||
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,605 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.VisualBasic.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Win32.Registry" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections.NonGeneric" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections.Specialized" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ComponentModel.Annotations" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ComponentModel.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ComponentModel.TypeConverter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ComponentModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.Process" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.TextWriterTraceListener" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.TraceSource" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Drawing.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Compression.ZipFile" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.FileSystem.AccessControl" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.FileSystem.DriveInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.FileSystem.Watcher" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.IsolatedStorage" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.MemoryMappedFiles" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Pipes.AccessControl" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Pipes" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Linq.Queryable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Linq" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.HttpListener" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Mail" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.NameResolution" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Ping" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Requests" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Security" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.ServicePoint" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.WebClient" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.WebHeaderCollection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.WebProxy" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.WebSockets.Client" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.WebSockets" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ObjectModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Reflection.Emit.ILGeneration" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Reflection.Emit.Lightweight" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Reflection.Emit" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Resources.Writer" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.VisualC" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.Serialization.Formatters" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.AccessControl" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Claims" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Cng" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Csp" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.X509Certificates" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Principal.Windows" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.ThreadPool" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Transactions.Local" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.HttpUtility" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Xml.XPath" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="netstandard" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Configuration.ConfigurationManager" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Xml" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.CodeDom" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net6.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "6.0.0"
|
||||
},
|
||||
"rollForward": "Major",
|
||||
"configProperties": {
|
||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
|
||||
}
|
||||
}
|
||||
}
|
||||
896
publish/authority/OpenApi/authority.yaml
Normal file
896
publish/authority/OpenApi/authority.yaml
Normal file
@@ -0,0 +1,896 @@
|
||||
openapi: 3.1.0
|
||||
info:
|
||||
title: StellaOps Authority Authentication API
|
||||
summary: Token issuance, introspection, revocation, and key discovery endpoints exposed by the Authority service.
|
||||
description: |
|
||||
The Authority service issues OAuth 2.1 access tokens for StellaOps components, enforcing tenant and scope
|
||||
restrictions configured per client. This specification describes the authentication surface only; domain APIs
|
||||
are documented by their owning services.
|
||||
version: 0.1.0
|
||||
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
|
||||
servers:
|
||||
- url: https://authority.stellaops.local
|
||||
description: Example Authority deployment
|
||||
tags:
|
||||
- name: Authentication
|
||||
description: OAuth 2.1 token exchange, introspection, and revocation flows.
|
||||
- name: Keys
|
||||
description: JSON Web Key Set discovery.
|
||||
components:
|
||||
securitySchemes:
|
||||
ClientSecretBasic:
|
||||
type: http
|
||||
scheme: basic
|
||||
description: HTTP Basic authentication with `client_id` and `client_secret`.
|
||||
OAuthPassword:
|
||||
type: oauth2
|
||||
description: Resource owner password exchange for Authority-managed identities.
|
||||
flows:
|
||||
password:
|
||||
tokenUrl: /token
|
||||
refreshUrl: /token
|
||||
scopes:
|
||||
advisory:ingest: Submit advisory ingestion payloads.
|
||||
advisory:read: Read advisory ingestion data.
|
||||
aoc:verify: Execute Aggregation-Only Contract verification workflows.
|
||||
authority.audit.read: Read Authority audit logs.
|
||||
authority.clients.manage: Manage Authority client registrations.
|
||||
authority.users.manage: Manage Authority users.
|
||||
authority:tenants.read: Read the Authority tenant catalog.
|
||||
concelier.jobs.trigger: Trigger Concelier aggregation jobs.
|
||||
concelier.merge: Manage Concelier merge operations.
|
||||
effective:write: Write effective findings (Policy Engine service identity only).
|
||||
email: Access email claim data.
|
||||
exceptions:approve: Approve exception workflows.
|
||||
findings:read: Read effective findings emitted by Policy Engine.
|
||||
graph:export: Export graph artefacts.
|
||||
graph:read: Read graph explorer data.
|
||||
graph:simulate: Run graph what-if simulations.
|
||||
graph:write: Enqueue or mutate graph build jobs.
|
||||
offline_access: Request refresh tokens for offline access.
|
||||
openid: Request OpenID Connect identity tokens.
|
||||
orch:operate: Execute privileged Orchestrator control actions.
|
||||
orch:read: Read Orchestrator job state.
|
||||
packs.read: Discover Task Packs and download manifests.
|
||||
packs.write: Publish or update Task Packs in the registry.
|
||||
packs.run: Execute Task Packs via CLI or Task Runner.
|
||||
packs.approve: Approve Task Pack gates and resume runs.
|
||||
policy:author: Author Policy Studio drafts and workspaces.
|
||||
policy:activate: Activate policy revisions.
|
||||
policy:approve: Approve or reject policy drafts.
|
||||
policy:audit: Inspect Policy Studio audit history.
|
||||
policy:edit: Edit policy definitions.
|
||||
policy:operate: Operate Policy Studio promotions and runs.
|
||||
policy:read: Read policy definitions and metadata.
|
||||
policy:run: Trigger policy executions.
|
||||
policy:submit: Submit policy drafts for review.
|
||||
policy:review: Review Policy Studio drafts and leave feedback.
|
||||
policy:simulate: Execute Policy Studio simulations.
|
||||
policy:write: Create or update policy drafts.
|
||||
profile: Access profile claim data.
|
||||
signals:admin: Administer Signals ingestion and routing settings.
|
||||
signals:read: Read Signals events and state.
|
||||
signals:write: Publish Signals events or mutate state.
|
||||
stellaops.bypass: Bypass trust boundary protections (restricted identities only).
|
||||
ui.read: Read Console UX resources.
|
||||
vex:ingest: Submit VEX ingestion payloads.
|
||||
vex:read: Read VEX ingestion data.
|
||||
vuln:view: Read vulnerability overlays and issue permalinks.
|
||||
vuln:investigate: Perform vulnerability triage actions (assign, comment, annotate).
|
||||
vuln:operate: Execute vulnerability workflow transitions and remediation tasks.
|
||||
vuln:audit: Access vulnerability audit ledgers and exports.
|
||||
vuln:read: Read vulnerability permalinks and overlays. (legacy compatibility; prefer vuln:view)
|
||||
authorizationCode:
|
||||
authorizationUrl: /authorize
|
||||
tokenUrl: /token
|
||||
refreshUrl: /token
|
||||
scopes:
|
||||
advisory:ingest: Submit advisory ingestion payloads.
|
||||
advisory:read: Read advisory ingestion data.
|
||||
aoc:verify: Execute Aggregation-Only Contract verification workflows.
|
||||
authority.audit.read: Read Authority audit logs.
|
||||
authority.clients.manage: Manage Authority client registrations.
|
||||
authority.users.manage: Manage Authority users.
|
||||
authority:tenants.read: Read the Authority tenant catalog.
|
||||
concelier.jobs.trigger: Trigger Concelier aggregation jobs.
|
||||
concelier.merge: Manage Concelier merge operations.
|
||||
effective:write: Write effective findings (Policy Engine service identity only).
|
||||
email: Access email claim data.
|
||||
exceptions:approve: Approve exception workflows.
|
||||
findings:read: Read effective findings emitted by Policy Engine.
|
||||
graph:export: Export graph artefacts.
|
||||
graph:read: Read graph explorer data.
|
||||
graph:simulate: Run graph what-if simulations.
|
||||
graph:write: Enqueue or mutate graph build jobs.
|
||||
offline_access: Request refresh tokens for offline access.
|
||||
openid: Request OpenID Connect identity tokens.
|
||||
orch:operate: Execute privileged Orchestrator control actions.
|
||||
orch:read: Read Orchestrator job state.
|
||||
packs.read: Discover Task Packs and download manifests.
|
||||
packs.write: Publish or update Task Packs in the registry.
|
||||
packs.run: Execute Task Packs via CLI or Task Runner.
|
||||
packs.approve: Approve Task Pack gates and resume runs.
|
||||
policy:author: Author Policy Studio drafts and workspaces.
|
||||
policy:activate: Activate policy revisions.
|
||||
policy:approve: Approve or reject policy drafts.
|
||||
policy:audit: Inspect Policy Studio audit history.
|
||||
policy:edit: Edit policy definitions.
|
||||
policy:operate: Operate Policy Studio promotions and runs.
|
||||
policy:read: Read policy definitions and metadata.
|
||||
policy:run: Trigger policy executions.
|
||||
policy:submit: Submit policy drafts for review.
|
||||
policy:review: Review Policy Studio drafts and leave feedback.
|
||||
policy:simulate: Execute Policy Studio simulations.
|
||||
policy:write: Create or update policy drafts.
|
||||
profile: Access profile claim data.
|
||||
signals:admin: Administer Signals ingestion and routing settings.
|
||||
signals:read: Read Signals events and state.
|
||||
signals:write: Publish Signals events or mutate state.
|
||||
stellaops.bypass: Bypass trust boundary protections (restricted identities only).
|
||||
ui.read: Read Console UX resources.
|
||||
vex:ingest: Submit VEX ingestion payloads.
|
||||
vex:read: Read VEX ingestion data.
|
||||
vuln:view: Read vulnerability overlays and issue permalinks.
|
||||
vuln:investigate: Perform vulnerability triage actions (assign, comment, annotate).
|
||||
vuln:operate: Execute vulnerability workflow transitions and remediation tasks.
|
||||
vuln:audit: Access vulnerability audit ledgers and exports.
|
||||
vuln:read: Read vulnerability permalinks and overlays. (legacy compatibility; prefer vuln:view)
|
||||
OAuthClientCredentials:
|
||||
type: oauth2
|
||||
description: Client credential exchange for machine-to-machine identities.
|
||||
flows:
|
||||
clientCredentials:
|
||||
tokenUrl: /token
|
||||
scopes:
|
||||
advisory:ingest: Submit advisory ingestion payloads.
|
||||
advisory:read: Read advisory ingestion data.
|
||||
aoc:verify: Execute Aggregation-Only Contract verification workflows.
|
||||
authority.audit.read: Read Authority audit logs.
|
||||
authority.clients.manage: Manage Authority client registrations.
|
||||
authority.users.manage: Manage Authority users.
|
||||
authority:tenants.read: Read the Authority tenant catalog.
|
||||
concelier.jobs.trigger: Trigger Concelier aggregation jobs.
|
||||
concelier.merge: Manage Concelier merge operations.
|
||||
effective:write: Write effective findings (Policy Engine service identity only).
|
||||
email: Access email claim data.
|
||||
exceptions:approve: Approve exception workflows.
|
||||
findings:read: Read effective findings emitted by Policy Engine.
|
||||
graph:export: Export graph artefacts.
|
||||
graph:read: Read graph explorer data.
|
||||
graph:simulate: Run graph what-if simulations.
|
||||
graph:write: Enqueue or mutate graph build jobs.
|
||||
offline_access: Request refresh tokens for offline access.
|
||||
openid: Request OpenID Connect identity tokens.
|
||||
orch:operate: Execute privileged Orchestrator control actions.
|
||||
orch:read: Read Orchestrator job state.
|
||||
packs.read: Discover Task Packs and download manifests.
|
||||
packs.write: Publish or update Task Packs in the registry.
|
||||
packs.run: Execute Task Packs via CLI or Task Runner.
|
||||
packs.approve: Approve Task Pack gates and resume runs.
|
||||
policy:author: Author Policy Studio drafts and workspaces.
|
||||
policy:activate: Activate policy revisions.
|
||||
policy:approve: Approve or reject policy drafts.
|
||||
policy:audit: Inspect Policy Studio audit history.
|
||||
policy:edit: Edit policy definitions.
|
||||
policy:operate: Operate Policy Studio promotions and runs.
|
||||
policy:read: Read policy definitions and metadata.
|
||||
policy:run: Trigger policy executions.
|
||||
policy:submit: Submit policy drafts for review.
|
||||
policy:review: Review Policy Studio drafts and leave feedback.
|
||||
policy:simulate: Execute Policy Studio simulations.
|
||||
policy:write: Create or update policy drafts.
|
||||
profile: Access profile claim data.
|
||||
signals:admin: Administer Signals ingestion and routing settings.
|
||||
signals:read: Read Signals events and state.
|
||||
signals:write: Publish Signals events or mutate state.
|
||||
stellaops.bypass: Bypass trust boundary protections (restricted identities only).
|
||||
ui.read: Read Console UX resources.
|
||||
vex:ingest: Submit VEX ingestion payloads.
|
||||
vex:read: Read VEX ingestion data.
|
||||
vuln:view: Read vulnerability overlays and issue permalinks.
|
||||
vuln:investigate: Perform vulnerability triage actions (assign, comment, annotate).
|
||||
vuln:operate: Execute vulnerability workflow transitions and remediation tasks.
|
||||
vuln:audit: Access vulnerability audit ledgers and exports.
|
||||
vuln:read: Read vulnerability permalinks and overlays. (legacy compatibility; prefer vuln:view)
|
||||
schemas:
|
||||
TokenResponse:
|
||||
type: object
|
||||
description: OAuth 2.1 bearer token response.
|
||||
properties:
|
||||
access_token:
|
||||
type: string
|
||||
description: Access token encoded as JWT.
|
||||
token_type:
|
||||
type: string
|
||||
description: Token type indicator. Always `Bearer`.
|
||||
expires_in:
|
||||
type: integer
|
||||
description: Lifetime of the access token, in seconds.
|
||||
minimum: 1
|
||||
refresh_token:
|
||||
type: string
|
||||
description: Refresh token issued when the grant allows offline access.
|
||||
scope:
|
||||
type: string
|
||||
description: Space-delimited scopes granted in the response.
|
||||
id_token:
|
||||
type: string
|
||||
description: ID token issued for authorization-code flows.
|
||||
required:
|
||||
- access_token
|
||||
- token_type
|
||||
- expires_in
|
||||
OAuthErrorResponse:
|
||||
type: object
|
||||
description: RFC 6749 compliant error envelope.
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
description: Machine-readable error code.
|
||||
error_description:
|
||||
type: string
|
||||
description: Human-readable error description.
|
||||
error_uri:
|
||||
type: string
|
||||
format: uri
|
||||
description: Link to documentation about the error.
|
||||
required:
|
||||
- error
|
||||
PasswordGrantRequest:
|
||||
type: object
|
||||
required:
|
||||
- grant_type
|
||||
- client_id
|
||||
- username
|
||||
- password
|
||||
properties:
|
||||
grant_type:
|
||||
type: string
|
||||
const: password
|
||||
client_id:
|
||||
type: string
|
||||
description: Registered client identifier. May also be supplied via HTTP Basic auth.
|
||||
client_secret:
|
||||
type: string
|
||||
description: Client secret. Required for confidential clients when not using HTTP Basic auth.
|
||||
scope:
|
||||
type: string
|
||||
description: Space-delimited scopes being requested.
|
||||
username:
|
||||
type: string
|
||||
description: Resource owner username.
|
||||
password:
|
||||
type: string
|
||||
description: Resource owner password.
|
||||
authority_provider:
|
||||
type: string
|
||||
description: Optional identity provider hint. Required when multiple password-capable providers are registered.
|
||||
description: Form-encoded payload for password grant exchange.
|
||||
ClientCredentialsGrantRequest:
|
||||
type: object
|
||||
required:
|
||||
- grant_type
|
||||
- client_id
|
||||
properties:
|
||||
grant_type:
|
||||
type: string
|
||||
const: client_credentials
|
||||
client_id:
|
||||
type: string
|
||||
description: Registered client identifier. May also be supplied via HTTP Basic auth.
|
||||
client_secret:
|
||||
type: string
|
||||
description: Client secret. Required for confidential clients when not using HTTP Basic auth.
|
||||
scope:
|
||||
type: string
|
||||
description: Space-delimited scopes being requested.
|
||||
authority_provider:
|
||||
type: string
|
||||
description: Optional identity provider hint for plugin-backed clients.
|
||||
operator_reason:
|
||||
type: string
|
||||
description: Required when requesting `orch:operate`; explains the operator action.
|
||||
maxLength: 256
|
||||
operator_ticket:
|
||||
type: string
|
||||
description: Required when requesting `orch:operate`; tracks the external change ticket or incident.
|
||||
maxLength: 128
|
||||
description: Form-encoded payload for client credentials exchange.
|
||||
RefreshTokenGrantRequest:
|
||||
type: object
|
||||
required:
|
||||
- grant_type
|
||||
- refresh_token
|
||||
properties:
|
||||
grant_type:
|
||||
type: string
|
||||
const: refresh_token
|
||||
client_id:
|
||||
type: string
|
||||
description: Registered client identifier. May also be supplied via HTTP Basic auth.
|
||||
client_secret:
|
||||
type: string
|
||||
description: Client secret. Required for confidential clients when not using HTTP Basic auth.
|
||||
refresh_token:
|
||||
type: string
|
||||
description: Previously issued refresh token.
|
||||
scope:
|
||||
type: string
|
||||
description: Optional scope list to narrow the requested access.
|
||||
description: Form-encoded payload for refresh token exchange.
|
||||
RevocationRequest:
|
||||
type: object
|
||||
required:
|
||||
- token
|
||||
properties:
|
||||
token:
|
||||
type: string
|
||||
description: Token value or token identifier to revoke.
|
||||
token_type_hint:
|
||||
type: string
|
||||
description: Optional token type hint (`access_token` or `refresh_token`).
|
||||
description: Form-encoded payload for token revocation.
|
||||
IntrospectionRequest:
|
||||
type: object
|
||||
required:
|
||||
- token
|
||||
properties:
|
||||
token:
|
||||
type: string
|
||||
description: Token value whose state should be introspected.
|
||||
token_type_hint:
|
||||
type: string
|
||||
description: Optional token type hint (`access_token` or `refresh_token`).
|
||||
description: Form-encoded payload for token introspection.
|
||||
IntrospectionResponse:
|
||||
type: object
|
||||
description: Active token descriptor compliant with RFC 7662.
|
||||
properties:
|
||||
active:
|
||||
type: boolean
|
||||
description: Indicates whether the token is currently active.
|
||||
scope:
|
||||
type: string
|
||||
description: Space-delimited list of scopes granted to the token.
|
||||
client_id:
|
||||
type: string
|
||||
description: Client identifier associated with the token.
|
||||
sub:
|
||||
type: string
|
||||
description: Subject identifier when the token represents an end-user.
|
||||
username:
|
||||
type: string
|
||||
description: Preferred username associated with the subject.
|
||||
token_type:
|
||||
type: string
|
||||
description: Type of the token (e.g., `Bearer`).
|
||||
exp:
|
||||
type: integer
|
||||
description: Expiration timestamp (seconds since UNIX epoch).
|
||||
iat:
|
||||
type: integer
|
||||
description: Issued-at timestamp (seconds since UNIX epoch).
|
||||
nbf:
|
||||
type: integer
|
||||
description: Not-before timestamp (seconds since UNIX epoch).
|
||||
aud:
|
||||
type: array
|
||||
description: Audience values associated with the token.
|
||||
items:
|
||||
type: string
|
||||
iss:
|
||||
type: string
|
||||
description: Issuer identifier.
|
||||
jti:
|
||||
type: string
|
||||
description: JWT identifier corresponding to the token.
|
||||
tenant:
|
||||
type: string
|
||||
description: Tenant associated with the token, when assigned.
|
||||
confirmation:
|
||||
type: object
|
||||
description: Sender-constrained confirmation data (e.g., mTLS thumbprint, DPoP JWK thumbprint).
|
||||
required:
|
||||
- active
|
||||
JwksDocument:
|
||||
type: object
|
||||
description: JSON Web Key Set published by the Authority.
|
||||
properties:
|
||||
keys:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/Jwk'
|
||||
required:
|
||||
- keys
|
||||
Jwk:
|
||||
type: object
|
||||
description: Public key material for token signature validation.
|
||||
properties:
|
||||
kid:
|
||||
type: string
|
||||
description: Key identifier.
|
||||
kty:
|
||||
type: string
|
||||
description: Key type (e.g., `EC`, `RSA`).
|
||||
use:
|
||||
type: string
|
||||
description: Intended key use (`sig`).
|
||||
alg:
|
||||
type: string
|
||||
description: Signing algorithm (e.g., `ES384`).
|
||||
crv:
|
||||
type: string
|
||||
description: Elliptic curve identifier when applicable.
|
||||
x:
|
||||
type: string
|
||||
description: X coordinate for EC keys.
|
||||
y:
|
||||
type: string
|
||||
description: Y coordinate for EC keys.
|
||||
status:
|
||||
type: string
|
||||
description: Operational status metadata for the key (e.g., `active`, `retiring`).
|
||||
paths:
|
||||
/token:
|
||||
post:
|
||||
tags:
|
||||
- Authentication
|
||||
summary: Exchange credentials for tokens
|
||||
description: |
|
||||
Issues OAuth 2.1 bearer tokens for StellaOps clients. Supports password, client credentials,
|
||||
authorization-code, device, and refresh token grants. Confidential clients must authenticate using
|
||||
HTTP Basic auth or `client_secret` form fields.
|
||||
security:
|
||||
- ClientSecretBasic: []
|
||||
- {}
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/x-www-form-urlencoded:
|
||||
schema:
|
||||
oneOf:
|
||||
- $ref: '#/components/schemas/PasswordGrantRequest'
|
||||
- $ref: '#/components/schemas/ClientCredentialsGrantRequest'
|
||||
- $ref: '#/components/schemas/RefreshTokenGrantRequest'
|
||||
encoding:
|
||||
authority_provider:
|
||||
style: form
|
||||
explode: false
|
||||
examples:
|
||||
passwordGrant:
|
||||
summary: Password grant for tenant-scoped ingestion bot
|
||||
value:
|
||||
grant_type: password
|
||||
client_id: ingest-cli
|
||||
client_secret: s3cr3t
|
||||
username: ingest-bot
|
||||
password: pa55w0rd!
|
||||
scope: advisory:ingest vex:ingest
|
||||
authority_provider: primary-directory
|
||||
authorizationCode:
|
||||
summary: Authorization code exchange for Console UI session
|
||||
value:
|
||||
grant_type: authorization_code
|
||||
client_id: console-ui
|
||||
code: 2Lba1WtwPLfZ2b0Z9uPrsQ
|
||||
redirect_uri: https://console.stellaops.local/auth/callback
|
||||
code_verifier: g3ZnL91QJ6i4zO_86oI4CDnZ7gS0bSeK
|
||||
clientCredentials:
|
||||
summary: Client credentials exchange for Policy Engine
|
||||
value:
|
||||
grant_type: client_credentials
|
||||
client_id: policy-engine
|
||||
client_secret: 9c39f602-2f2b-4f29
|
||||
scope: effective:write findings:read
|
||||
operator_reason: Deploying policy change 1234
|
||||
operator_ticket: CHG-004211
|
||||
refreshToken:
|
||||
summary: Refresh token rotation for console session
|
||||
value:
|
||||
grant_type: refresh_token
|
||||
client_id: console-ui
|
||||
refresh_token: 0.rg9pVlsGzXE8Q
|
||||
responses:
|
||||
'200':
|
||||
description: Token exchange succeeded.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/TokenResponse'
|
||||
examples:
|
||||
passwordGrant:
|
||||
summary: Password grant success response
|
||||
value:
|
||||
access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9...
|
||||
token_type: Bearer
|
||||
expires_in: 3600
|
||||
refresh_token: OxGdVtZJ-mk49cFd38uRUw
|
||||
scope: advisory:ingest vex:ingest
|
||||
clientCredentials:
|
||||
summary: Client credentials success response
|
||||
value:
|
||||
access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9...
|
||||
token_type: Bearer
|
||||
expires_in: 900
|
||||
scope: effective:write findings:read
|
||||
authorizationCode:
|
||||
summary: Authorization code success response
|
||||
value:
|
||||
access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9...
|
||||
token_type: Bearer
|
||||
expires_in: 900
|
||||
refresh_token: VxKpc9Vj9QjYV6gLrhQHTw
|
||||
scope: ui.read authority:tenants.read
|
||||
id_token: eyJhbGciOiJFUzM4NCIsImtpZCI6ImNvbnNvbGUifQ...
|
||||
'400':
|
||||
description: Malformed request, unsupported grant type, or invalid credentials.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/OAuthErrorResponse'
|
||||
examples:
|
||||
invalidProvider:
|
||||
summary: Unknown identity provider hint
|
||||
value:
|
||||
error: invalid_request
|
||||
error_description: "Unknown identity provider 'legacy-directory'."
|
||||
invalidScope:
|
||||
summary: Scope not permitted for client
|
||||
value:
|
||||
error: invalid_scope
|
||||
error_description: Scope 'effective:write' is not permitted for this client.
|
||||
'401':
|
||||
description: Client authentication failed.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/OAuthErrorResponse'
|
||||
examples:
|
||||
badClientSecret:
|
||||
summary: Invalid client secret
|
||||
value:
|
||||
error: invalid_client
|
||||
error_description: Client authentication failed.
|
||||
/revoke:
|
||||
post:
|
||||
tags:
|
||||
- Authentication
|
||||
summary: Revoke an access or refresh token
|
||||
security:
|
||||
- ClientSecretBasic: []
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/x-www-form-urlencoded:
|
||||
schema:
|
||||
$ref: '#/components/schemas/RevocationRequest'
|
||||
examples:
|
||||
revokeRefreshToken:
|
||||
summary: Revoke refresh token after logout
|
||||
value:
|
||||
token: 0.rg9pVlsGzXE8Q
|
||||
token_type_hint: refresh_token
|
||||
responses:
|
||||
'200':
|
||||
description: Token revoked or already invalid. The response body is intentionally blank.
|
||||
'400':
|
||||
description: Malformed request.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/OAuthErrorResponse'
|
||||
examples:
|
||||
missingToken:
|
||||
summary: Token parameter omitted
|
||||
value:
|
||||
error: invalid_request
|
||||
error_description: The revocation request is missing the token parameter.
|
||||
'401':
|
||||
description: Client authentication failed.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/OAuthErrorResponse'
|
||||
examples:
|
||||
badClientSecret:
|
||||
summary: Invalid client credentials
|
||||
value:
|
||||
error: invalid_client
|
||||
error_description: Client authentication failed.
|
||||
/introspect:
|
||||
post:
|
||||
tags:
|
||||
- Authentication
|
||||
summary: Introspect token state
|
||||
description: Returns the active status and claims for a given token. Requires a privileged client.
|
||||
security:
|
||||
- ClientSecretBasic: []
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/x-www-form-urlencoded:
|
||||
schema:
|
||||
$ref: '#/components/schemas/IntrospectionRequest'
|
||||
examples:
|
||||
introspectToken:
|
||||
summary: Validate an access token issued to Orchestrator
|
||||
value:
|
||||
token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9...
|
||||
token_type_hint: access_token
|
||||
responses:
|
||||
'200':
|
||||
description: Token state evaluated.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/IntrospectionResponse'
|
||||
examples:
|
||||
activeToken:
|
||||
summary: Active token response
|
||||
value:
|
||||
active: true
|
||||
scope: orch:operate orch:read
|
||||
client_id: orch-control
|
||||
sub: operator-7f12
|
||||
username: ops.engineer@tenant.example
|
||||
token_type: Bearer
|
||||
exp: 1761628800
|
||||
iat: 1761625200
|
||||
nbf: 1761625200
|
||||
iss: https://authority.stellaops.local
|
||||
aud:
|
||||
- https://orch.stellaops.local
|
||||
jti: 01J8KYRAMG7FWBPRRV5XG20T7S
|
||||
tenant: tenant-alpha
|
||||
confirmation:
|
||||
mtls_thumbprint: 079871b8c9a0f2e6
|
||||
inactiveToken:
|
||||
summary: Revoked token response
|
||||
value:
|
||||
active: false
|
||||
'400':
|
||||
description: Malformed request.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/OAuthErrorResponse'
|
||||
examples:
|
||||
missingToken:
|
||||
summary: Token missing
|
||||
value:
|
||||
error: invalid_request
|
||||
error_description: token parameter is required.
|
||||
'401':
|
||||
description: Client authentication failed or client lacks introspection permission.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/OAuthErrorResponse'
|
||||
examples:
|
||||
unauthorizedClient:
|
||||
summary: Client not allowed to introspect tokens
|
||||
value:
|
||||
error: invalid_client
|
||||
error_description: Client authentication failed.
|
||||
|
||||
/oauth/token:
|
||||
post:
|
||||
tags:
|
||||
- Authentication
|
||||
summary: "[Deprecated] Exchange credentials for tokens"
|
||||
description: |
|
||||
Legacy alias for `/token`. Responses include `Deprecation`, `Sunset`, `Warning`, and `Link`
|
||||
headers to advertise the removal timeline. Migrate clients to `/token` before the
|
||||
announced sunset date (2026-05-01).
|
||||
deprecated: true
|
||||
security:
|
||||
- ClientSecretBasic: []
|
||||
- {}
|
||||
requestBody:
|
||||
$ref: #/paths/~1token/post/requestBody
|
||||
responses:
|
||||
200:
|
||||
description: Token exchange succeeded (legacy alias of `/token`).
|
||||
headers:
|
||||
Deprecation:
|
||||
description: RFC 7231 HTTP-date signaling when the endpoint was deprecated.
|
||||
schema:
|
||||
type: string
|
||||
Sunset:
|
||||
description: RFC 7231 HTTP-date signaling the planned removal of this endpoint.
|
||||
schema:
|
||||
type: string
|
||||
Link:
|
||||
description: Sunset documentation link (`rel="sunset"`).
|
||||
schema:
|
||||
type: string
|
||||
Warning:
|
||||
description: RFC 7234 Warning header describing the deprecation notice.
|
||||
schema:
|
||||
type: string
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: #/components/schemas/TokenResponse
|
||||
400:
|
||||
description: Malformed request, unsupported grant type, or invalid credentials.
|
||||
headers:
|
||||
Deprecation:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Deprecation
|
||||
Sunset:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Sunset
|
||||
Link:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Link
|
||||
Warning:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Warning
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: #/components/schemas/OAuthErrorResponse
|
||||
401:
|
||||
description: Client authentication failed.
|
||||
headers:
|
||||
Deprecation:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Deprecation
|
||||
Sunset:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Sunset
|
||||
Link:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Link
|
||||
Warning:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Warning
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: #/components/schemas/OAuthErrorResponse
|
||||
/oauth/revoke:
|
||||
post:
|
||||
tags:
|
||||
- Authentication
|
||||
summary: "[Deprecated] Revoke an access or refresh token"
|
||||
description: |
|
||||
Legacy alias for `/revoke`. Deprecated; clients should call `/revoke` directly. Deprecation headers
|
||||
mirror those emitted by the runtime middleware.
|
||||
deprecated: true
|
||||
security:
|
||||
- ClientSecretBasic: []
|
||||
requestBody:
|
||||
$ref: #/paths/~1revoke/post/requestBody
|
||||
responses:
|
||||
200:
|
||||
description: Token revoked or already invalid (legacy alias of `/revoke`).
|
||||
headers:
|
||||
Deprecation:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Deprecation
|
||||
Sunset:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Sunset
|
||||
Link:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Link
|
||||
Warning:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Warning
|
||||
400:
|
||||
description: Malformed request.
|
||||
headers:
|
||||
Deprecation:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Deprecation
|
||||
Sunset:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Sunset
|
||||
Link:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Link
|
||||
Warning:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Warning
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: #/components/schemas/OAuthErrorResponse
|
||||
401:
|
||||
description: Client authentication failed.
|
||||
headers:
|
||||
Deprecation:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Deprecation
|
||||
Sunset:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Sunset
|
||||
Link:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Link
|
||||
Warning:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Warning
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: #/components/schemas/OAuthErrorResponse
|
||||
/oauth/introspect:
|
||||
post:
|
||||
tags:
|
||||
- Authentication
|
||||
summary: "[Deprecated] Introspect token state"
|
||||
description: |
|
||||
Legacy alias for `/introspect`. Deprecated; clients must migrate to `/introspect`. Deprecation headers
|
||||
highlight the removal schedule.
|
||||
deprecated: true
|
||||
security:
|
||||
- ClientSecretBasic: []
|
||||
requestBody:
|
||||
$ref: #/paths/~1introspect/post/requestBody
|
||||
responses:
|
||||
200:
|
||||
description: Token state evaluated (legacy alias of `/introspect`).
|
||||
headers:
|
||||
Deprecation:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Deprecation
|
||||
Sunset:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Sunset
|
||||
Link:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Link
|
||||
Warning:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Warning
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: #/components/schemas/IntrospectionResponse
|
||||
400:
|
||||
description: Malformed request.
|
||||
headers:
|
||||
Deprecation:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Deprecation
|
||||
Sunset:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Sunset
|
||||
Link:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Link
|
||||
Warning:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Warning
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: #/components/schemas/OAuthErrorResponse
|
||||
401:
|
||||
description: Client authentication failed or client lacks introspection permission.
|
||||
headers:
|
||||
Deprecation:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Deprecation
|
||||
Sunset:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Sunset
|
||||
Link:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Link
|
||||
Warning:
|
||||
$ref: #/paths/~1oauth~1token/post/responses/200/headers/Warning
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: #/components/schemas/OAuthErrorResponse /jwks:
|
||||
get:
|
||||
tags:
|
||||
- Keys
|
||||
summary: Retrieve signing keys
|
||||
description: Returns the JSON Web Key Set used to validate Authority-issued tokens.
|
||||
responses:
|
||||
'200':
|
||||
description: JWKS document.
|
||||
headers:
|
||||
Cache-Control:
|
||||
schema:
|
||||
type: string
|
||||
description: Standard caching headers apply; keys rotate infrequently.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/JwksDocument'
|
||||
examples:
|
||||
ecKeySet:
|
||||
summary: EC signing keys
|
||||
value:
|
||||
keys:
|
||||
- kid: auth-tokens-es384-202510
|
||||
kty: EC
|
||||
use: sig
|
||||
alg: ES384
|
||||
crv: P-384
|
||||
x: 7UchU5R77LtChrJx6uWg9mYjFvV6RIpSgZPDIj7d1q0
|
||||
y: v98nHe8a7mGZ9Fn1t4Jp9PTJv1ma35QPmhUrE4pH7H0
|
||||
status: active
|
||||
- kid: auth-tokens-es384-202409
|
||||
kty: EC
|
||||
use: sig
|
||||
alg: ES384
|
||||
crv: P-384
|
||||
x: hjdKc0r8jvVHJ7S9mP0y0mU9bqN7v5PxS21SwclTzfc
|
||||
y: yk6J3pz4TUpymN4mG-6th3dYvJ5N1lQvDK0PLuFv3Pg
|
||||
status: retiring
|
||||
1077
publish/authority/StellaOps.Auth.Abstractions.xml
Normal file
1077
publish/authority/StellaOps.Auth.Abstractions.xml
Normal file
File diff suppressed because it is too large
Load Diff
319
publish/authority/StellaOps.Auth.Client.xml
Normal file
319
publish/authority/StellaOps.Auth.Client.xml
Normal file
@@ -0,0 +1,319 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StellaOps.Auth.Client</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StellaOps.Auth.Client.FileTokenCache">
|
||||
<summary>
|
||||
File-based token cache suitable for CLI/offline usage.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.InMemoryTokenCache">
|
||||
<summary>
|
||||
In-memory token cache suitable for service scenarios.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.IStellaOpsTokenCache">
|
||||
<summary>
|
||||
Abstraction for caching StellaOps tokens.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenCache.GetAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Retrieves a cached token entry, if present.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenCache.SetAsync(System.String,StellaOps.Auth.Client.StellaOpsTokenCacheEntry,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Stores or updates a token entry for the specified key.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenCache.RemoveAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Removes the cached entry for the specified key.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.IStellaOpsTokenClient">
|
||||
<summary>
|
||||
Abstraction for requesting tokens from StellaOps Authority.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.RequestPasswordTokenAsync(System.String,System.String,System.String,System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Requests an access token using the resource owner password credentials flow.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.RequestClientCredentialsTokenAsync(System.String,System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Requests an access token using the client credentials flow.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.GetJsonWebKeySetAsync(System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Retrieves the cached JWKS document.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.GetCachedTokenAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Retrieves a cached token entry.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.CacheTokenAsync(System.String,StellaOps.Auth.Client.StellaOpsTokenCacheEntry,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Persists a token entry in the cache.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.ClearCachedTokenAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Removes a cached entry.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.MessagingTokenCache">
|
||||
<summary>
|
||||
Token cache backed by <see cref="T:StellaOps.Messaging.Abstractions.IDistributedCache`1"/>.
|
||||
Supports any transport (InMemory, Valkey, PostgreSQL) via factory injection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.ServiceCollectionExtensions">
|
||||
<summary>
|
||||
DI helpers for the StellaOps auth client.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.ServiceCollectionExtensions.AddStellaOpsAuthClient(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{StellaOps.Auth.Client.StellaOpsAuthClientOptions})">
|
||||
<summary>
|
||||
Registers the StellaOps auth client with the provided configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.ServiceCollectionExtensions.AddStellaOpsFileTokenCache(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)">
|
||||
<summary>
|
||||
Registers a file-backed token cache implementation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.ServiceCollectionExtensions.AddStellaOpsApiAuthentication(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action{StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions})">
|
||||
<summary>
|
||||
Adds authentication and tenancy header handling for an <see cref="T:System.Net.Http.HttpClient"/> registered via <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions">
|
||||
<summary>
|
||||
Options controlling how <see cref="T:System.Net.Http.HttpClient"/> instances obtain authentication and tenancy headers.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.Mode">
|
||||
<summary>
|
||||
Gets or sets the authentication mode used to authorise outbound requests.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.Scope">
|
||||
<summary>
|
||||
Optional scope override supplied when requesting OAuth access tokens.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.Username">
|
||||
<summary>
|
||||
Username used when <see cref="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.Mode"/> is <see cref="F:StellaOps.Auth.Client.StellaOpsApiAuthMode.Password"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.Password">
|
||||
<summary>
|
||||
Password used when <see cref="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.Mode"/> is <see cref="F:StellaOps.Auth.Client.StellaOpsApiAuthMode.Password"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.PersonalAccessToken">
|
||||
<summary>
|
||||
Pre-issued personal access token used when <see cref="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.Mode"/> is <see cref="F:StellaOps.Auth.Client.StellaOpsApiAuthMode.PersonalAccessToken"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.Tenant">
|
||||
<summary>
|
||||
Optional tenant identifier injected via <see cref="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.TenantHeader"/>. If <c>null</c>, the header is omitted.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.TenantHeader">
|
||||
<summary>
|
||||
Header name used to convey the tenant override (defaults to <c>X-StellaOps-Tenant</c>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsApiAuthenticationOptions.RefreshBuffer">
|
||||
<summary>
|
||||
Buffer window applied before token expiration that triggers proactive refresh (defaults to 30 seconds).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsApiAuthMode">
|
||||
<summary>
|
||||
Authentication strategies supported by the StellaOps API client helpers.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Client.StellaOpsApiAuthMode.ClientCredentials">
|
||||
<summary>
|
||||
Use the OAuth 2.0 client credentials grant to request access tokens.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Client.StellaOpsApiAuthMode.Password">
|
||||
<summary>
|
||||
Use the resource owner password credentials grant to request access tokens.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Client.StellaOpsApiAuthMode.PersonalAccessToken">
|
||||
<summary>
|
||||
Use a pre-issued personal access token (PAT) as the bearer credential.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsAuthClientOptions">
|
||||
<summary>
|
||||
Options controlling the StellaOps authentication client.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.Authority">
|
||||
<summary>
|
||||
Authority (issuer) base URL.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.ClientId">
|
||||
<summary>
|
||||
OAuth client identifier (optional for password flow).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.ClientSecret">
|
||||
<summary>
|
||||
OAuth client secret (optional for public clients).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.DefaultScopes">
|
||||
<summary>
|
||||
Default scopes requested for flows that do not explicitly override them.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.RetryDelays">
|
||||
<summary>
|
||||
Retry delays applied by HTTP retry policy (empty uses defaults).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.EnableRetries">
|
||||
<summary>
|
||||
Gets or sets a value indicating whether HTTP retry policies are enabled.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.HttpTimeout">
|
||||
<summary>
|
||||
Timeout applied to discovery and token HTTP requests.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.DiscoveryCacheLifetime">
|
||||
<summary>
|
||||
Lifetime of cached discovery metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.JwksCacheLifetime">
|
||||
<summary>
|
||||
Lifetime of cached JWKS metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.ExpirationSkew">
|
||||
<summary>
|
||||
Buffer applied when determining cache expiration (default: 30 seconds).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.AllowOfflineCacheFallback">
|
||||
<summary>
|
||||
Gets or sets a value indicating whether cached discovery/JWKS responses may be served when the Authority is unreachable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.OfflineCacheTolerance">
|
||||
<summary>
|
||||
Additional tolerance window during which stale cache entries remain valid if offline fallback is allowed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.AuthorityUri">
|
||||
<summary>
|
||||
Parsed Authority URI (populated after validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.NormalizedScopes">
|
||||
<summary>
|
||||
Normalised scope list (populated after validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.NormalizedRetryDelays">
|
||||
<summary>
|
||||
Normalised retry delays (populated after validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsAuthClientOptions.Validate">
|
||||
<summary>
|
||||
Validates required values and normalises scope entries.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsBearerTokenHandler">
|
||||
<summary>
|
||||
Delegating handler that attaches bearer credentials and tenant headers to outbound requests.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsDiscoveryCache">
|
||||
<summary>
|
||||
Caches Authority discovery metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.OpenIdConfiguration">
|
||||
<summary>
|
||||
Minimal OpenID Connect configuration representation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.OpenIdConfiguration.#ctor(System.Uri,System.Uri)">
|
||||
<summary>
|
||||
Minimal OpenID Connect configuration representation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsJwksCache">
|
||||
<summary>
|
||||
Caches JWKS documents for Authority.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsTokenCacheEntry">
|
||||
<summary>
|
||||
Represents a cached token entry.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenCacheEntry.#ctor(System.String,System.String,System.DateTimeOffset,System.Collections.Generic.IReadOnlyList{System.String},System.String,System.String,System.Collections.Generic.IReadOnlyDictionary{System.String,System.String})">
|
||||
<summary>
|
||||
Represents a cached token entry.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenCacheEntry.IsExpired(System.TimeProvider,System.Nullable{System.TimeSpan})">
|
||||
<summary>
|
||||
Determines whether the token is expired given the provided <see cref="T:System.TimeProvider"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenCacheEntry.NormalizeScopes">
|
||||
<summary>
|
||||
Creates a copy with scopes normalised.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsTokenClient">
|
||||
<summary>
|
||||
Default implementation of <see cref="T:StellaOps.Auth.Client.IStellaOpsTokenClient"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsTokenResult">
|
||||
<summary>
|
||||
Represents an issued token with metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenResult.#ctor(System.String,System.String,System.DateTimeOffset,System.Collections.Generic.IReadOnlyList{System.String},System.String,System.String,System.String)">
|
||||
<summary>
|
||||
Represents an issued token with metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsTokenResult.ExpiresAt">
|
||||
<summary>
|
||||
Temporary shim for callers expecting the legacy <c>ExpiresAt</c> member.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenResult.ToCacheEntry">
|
||||
<summary>
|
||||
Converts the result to a cache entry.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
304
publish/authority/StellaOps.Auth.ServerIntegration.xml
Normal file
304
publish/authority/StellaOps.Auth.ServerIntegration.xml
Normal file
@@ -0,0 +1,304 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StellaOps.Auth.ServerIntegration</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.ServiceCollectionExtensions">
|
||||
<summary>
|
||||
Dependency injection helpers for configuring StellaOps resource server authentication.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.ServiceCollectionExtensions.AddStellaOpsResourceServerAuthentication(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.String,System.Action{StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions})">
|
||||
<summary>
|
||||
Registers JWT bearer authentication and related authorisation helpers using the provided configuration section.
|
||||
</summary>
|
||||
<param name="services">The service collection.</param>
|
||||
<param name="configuration">Application configuration.</param>
|
||||
<param name="configurationSection">
|
||||
Optional configuration section path. Defaults to <c>Authority:ResourceServer</c>. Provide <c>null</c> to skip binding.
|
||||
</param>
|
||||
<param name="configure">Optional callback allowing additional mutation of <see cref="T:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions"/>.</param>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.StellaOpsAuthorityConfigurationManager">
|
||||
<summary>
|
||||
Cached configuration manager for StellaOps Authority metadata and JWKS.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.StellaOpsAuthorizationPolicyBuilderExtensions">
|
||||
<summary>
|
||||
Extension methods for configuring StellaOps authorisation policies.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsAuthorizationPolicyBuilderExtensions.RequireStellaOpsScopes(Microsoft.AspNetCore.Authorization.AuthorizationPolicyBuilder,System.String[])">
|
||||
<summary>
|
||||
Requires the specified scopes using the StellaOps scope requirement.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsAuthorizationPolicyBuilderExtensions.AddStellaOpsScopePolicy(Microsoft.AspNetCore.Authorization.AuthorizationOptions,System.String,System.String[])">
|
||||
<summary>
|
||||
Registers a named policy that enforces the provided scopes.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsAuthorizationPolicyBuilderExtensions.AddStellaOpsScopeHandler(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
|
||||
<summary>
|
||||
Adds the scope handler to the DI container.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.StellaOpsBypassEvaluator">
|
||||
<summary>
|
||||
Evaluates whether a request qualifies for network-based bypass.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions">
|
||||
<summary>
|
||||
Provides two extension methods for the <c>.stella-ops.local</c> hostname convention:
|
||||
<list type="bullet">
|
||||
<item>
|
||||
<see cref="M:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions.TryAddStellaOpsLocalBinding(Microsoft.AspNetCore.Builder.WebApplicationBuilder,System.String)"/> — called on <see cref="T:Microsoft.AspNetCore.Builder.WebApplicationBuilder"/>
|
||||
before <c>Build()</c>; binds both <c>https://{serviceName}.stella-ops.local</c> (port 443)
|
||||
and <c>http://{serviceName}.stella-ops.local</c> (port 80).
|
||||
</item>
|
||||
<item>
|
||||
<see cref="M:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions.LogStellaOpsLocalHostname(Microsoft.AspNetCore.Builder.WebApplication,System.String)"/> — called on <see cref="T:Microsoft.AspNetCore.Builder.WebApplication"/>
|
||||
after <c>Build()</c>; checks DNS for the friendly hostname and logs the result.
|
||||
</item>
|
||||
</list>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions.LocalBindingBoundKey">
|
||||
<summary>
|
||||
Configuration key used to communicate local-binding status
|
||||
from the builder phase to the app phase.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions.LocalBindingServiceKey">
|
||||
<summary>
|
||||
Configuration key storing the service name for use in the app phase.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions.TryAddStellaOpsLocalBinding(Microsoft.AspNetCore.Builder.WebApplicationBuilder,System.String)">
|
||||
<summary>
|
||||
Resolves <c>{serviceName}.stella-ops.local</c> to its dedicated loopback IP
|
||||
(from the hosts file), then binds <c>https://{hostname}</c> (port 443) and
|
||||
<c>http://{hostname}</c> (port 80) on that IP. Each service uses a unique
|
||||
loopback address (e.g. 127.1.0.2) so ports never collide.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions.TryAddStellaOpsSharedPort(Microsoft.AspNetCore.Builder.WebApplicationBuilder)">
|
||||
<summary>
|
||||
Backwards-compatible overload — reads the service name from configuration
|
||||
set by <see cref="M:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions.TryAddStellaOpsLocalBinding(Microsoft.AspNetCore.Builder.WebApplicationBuilder,System.String)"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsLocalHostnameExtensions.LogStellaOpsLocalHostname(Microsoft.AspNetCore.Builder.WebApplication,System.String)">
|
||||
<summary>
|
||||
Registers a startup callback that checks DNS for
|
||||
<c>{serviceName}.stella-ops.local</c> and logs the result.
|
||||
Also warns if the local bindings were skipped.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions">
|
||||
<summary>
|
||||
Options controlling StellaOps resource server authentication.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.Authority">
|
||||
<summary>
|
||||
Gets or sets the Authority (issuer) URL that exposes OpenID discovery.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.MetadataAddress">
|
||||
<summary>
|
||||
Optional explicit OpenID Connect metadata address.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.Audiences">
|
||||
<summary>
|
||||
Audiences accepted by the resource server (validated against the <c>aud</c> claim).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.RequiredScopes">
|
||||
<summary>
|
||||
Scopes enforced by default authorisation policies.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.RequiredTenants">
|
||||
<summary>
|
||||
Tenants permitted to access the resource server (empty list disables tenant checks).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.BypassNetworks">
|
||||
<summary>
|
||||
Networks permitted to bypass authentication (used for trusted on-host automation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.RequireHttpsMetadata">
|
||||
<summary>
|
||||
Whether HTTPS metadata is required when communicating with Authority.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.BackchannelTimeout">
|
||||
<summary>
|
||||
Back-channel timeout when fetching metadata/JWKS.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.TokenClockSkew">
|
||||
<summary>
|
||||
Clock skew tolerated when validating tokens.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.MetadataCacheLifetime">
|
||||
<summary>
|
||||
Lifetime for cached discovery/JWKS metadata before forcing a refresh.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.AllowOfflineCacheFallback">
|
||||
<summary>
|
||||
Gets or sets a value indicating whether stale metadata/JWKS may be reused if Authority is unreachable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.OfflineCacheTolerance">
|
||||
<summary>
|
||||
Additional tolerance window during which stale metadata/JWKS may be reused when offline fallback is allowed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.AuthorityUri">
|
||||
<summary>
|
||||
Gets the canonical Authority URI (populated during validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.NormalizedScopes">
|
||||
<summary>
|
||||
Gets the normalised scope list (populated during validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.NormalizedTenants">
|
||||
<summary>
|
||||
Gets the normalised tenant list (populated during validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.BypassMatcher">
|
||||
<summary>
|
||||
Gets the network matcher used for bypass checks (populated during validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerOptions.Validate">
|
||||
<summary>
|
||||
Validates provided configuration and normalises collections.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies">
|
||||
<summary>
|
||||
Named authorization policies for StellaOps observability and evidence resource servers.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.ObservabilityRead">
|
||||
<summary>
|
||||
Observability dashboards/read-only access policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.ObservabilityIncident">
|
||||
<summary>
|
||||
Observability incident activation policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.TimelineRead">
|
||||
<summary>
|
||||
Timeline read policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.TimelineWrite">
|
||||
<summary>
|
||||
Timeline write policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.EvidenceCreate">
|
||||
<summary>
|
||||
Evidence create policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.EvidenceRead">
|
||||
<summary>
|
||||
Evidence read policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.EvidenceHold">
|
||||
<summary>
|
||||
Evidence hold policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.AttestRead">
|
||||
<summary>
|
||||
Attestation read policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.ExportViewer">
|
||||
<summary>
|
||||
Export viewer policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.ExportOperator">
|
||||
<summary>
|
||||
Export operator policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.ExportAdmin">
|
||||
<summary>
|
||||
Export admin policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.PacksRead">
|
||||
<summary>
|
||||
Pack read policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.PacksWrite">
|
||||
<summary>
|
||||
Pack write policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.PacksRun">
|
||||
<summary>
|
||||
Pack run policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.PacksApprove">
|
||||
<summary>
|
||||
Pack approval policy name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.AddObservabilityResourcePolicies(Microsoft.AspNetCore.Authorization.AuthorizationOptions)">
|
||||
<summary>
|
||||
Registers all observability, timeline, evidence, attestation, and export authorization policies.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsResourceServerPolicies.AddPacksResourcePolicies(Microsoft.AspNetCore.Authorization.AuthorizationOptions)">
|
||||
<summary>
|
||||
Registers Task Pack registry, execution, and approval authorization policies.
|
||||
</summary>
|
||||
<param name="options">The authorization options to update.</param>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.StellaOpsScopeAuthorizationHandler">
|
||||
<summary>
|
||||
Handles <see cref="T:StellaOps.Auth.ServerIntegration.StellaOpsScopeRequirement"/> evaluation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.ServerIntegration.StellaOpsScopeRequirement">
|
||||
<summary>
|
||||
Authorisation requirement enforcing StellaOps scope membership.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.ServerIntegration.StellaOpsScopeRequirement.#ctor(System.Collections.Generic.IEnumerable{System.String})">
|
||||
<summary>
|
||||
Initialises a new instance of the <see cref="T:StellaOps.Auth.ServerIntegration.StellaOpsScopeRequirement"/> class.
|
||||
</summary>
|
||||
<param name="scopes">Scopes that satisfy the requirement.</param>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.ServerIntegration.StellaOpsScopeRequirement.RequiredScopes">
|
||||
<summary>
|
||||
Gets the required scopes.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
publish/authority/StellaOps.Authority
Normal file
BIN
publish/authority/StellaOps.Authority
Normal file
Binary file not shown.
1928
publish/authority/StellaOps.Authority.deps.json
Normal file
1928
publish/authority/StellaOps.Authority.deps.json
Normal file
File diff suppressed because it is too large
Load Diff
21
publish/authority/StellaOps.Authority.runtimeconfig.json
Normal file
21
publish/authority/StellaOps.Authority.runtimeconfig.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net10.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "10.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App",
|
||||
"version": "10.0.0"
|
||||
}
|
||||
],
|
||||
"configProperties": {
|
||||
"System.GC.Server": true,
|
||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||
"System.Reflection.NullabilityInfoContext.IsSupported": true,
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"Version":1,"ManifestType":"Publish","Endpoints":[]}
|
||||
221
publish/authority/StellaOps.Cryptography.PluginLoader.xml
Normal file
221
publish/authority/StellaOps.Cryptography.PluginLoader.xml
Normal file
@@ -0,0 +1,221 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StellaOps.Cryptography.PluginLoader</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration">
|
||||
<summary>
|
||||
Configuration for crypto plugin loading and selection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.ManifestPath">
|
||||
<summary>
|
||||
Path to the plugin manifest JSON file.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.DiscoveryMode">
|
||||
<summary>
|
||||
Plugin discovery mode: "explicit" (only load configured plugins) or "auto" (load all compatible plugins).
|
||||
Default: "explicit" for production safety.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Enabled">
|
||||
<summary>
|
||||
List of plugins to enable with optional priority and options overrides.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Disabled">
|
||||
<summary>
|
||||
List of plugin IDs or patterns to explicitly disable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.FailOnMissingPlugin">
|
||||
<summary>
|
||||
Fail application startup if a configured plugin cannot be loaded.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.RequireAtLeastOne">
|
||||
<summary>
|
||||
Require at least one crypto provider to be successfully loaded.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Compliance">
|
||||
<summary>
|
||||
Compliance profile configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry">
|
||||
<summary>
|
||||
Configuration entry for an enabled plugin.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Id">
|
||||
<summary>
|
||||
Plugin identifier from the manifest.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Priority">
|
||||
<summary>
|
||||
Priority override for this plugin (higher = preferred).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Options">
|
||||
<summary>
|
||||
Plugin-specific options (e.g., enginePath for OpenSSL GOST).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration">
|
||||
<summary>
|
||||
Compliance profile configuration for regional crypto requirements.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.ProfileId">
|
||||
<summary>
|
||||
Compliance profile identifier (e.g., "gost", "fips", "eidas", "sm").
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.StrictValidation">
|
||||
<summary>
|
||||
Enable strict validation (reject algorithms not compliant with profile).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.EnforceJurisdiction">
|
||||
<summary>
|
||||
Enforce jurisdiction filtering (only load plugins for specified jurisdictions).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.AllowedJurisdictions">
|
||||
<summary>
|
||||
Allowed jurisdictions (e.g., ["russia"], ["eu"], ["world"]).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader">
|
||||
<summary>
|
||||
Loads crypto provider plugins dynamically based on manifest and configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.#ctor(StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration,Microsoft.Extensions.Logging.ILogger{StellaOps.Cryptography.PluginLoader.CryptoPluginLoader},System.String)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader"/> class.
|
||||
</summary>
|
||||
<param name="configuration">Plugin configuration.</param>
|
||||
<param name="logger">Optional logger instance.</param>
|
||||
<param name="pluginDirectory">Optional plugin directory path. Defaults to application base directory.</param>
|
||||
</member>
|
||||
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.LoadProviders">
|
||||
<summary>
|
||||
Loads all configured crypto providers.
|
||||
</summary>
|
||||
<returns>Collection of loaded provider instances.</returns>
|
||||
</member>
|
||||
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.PluginAssemblyLoadContext">
|
||||
<summary>
|
||||
AssemblyLoadContext for plugin isolation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException">
|
||||
<summary>
|
||||
Exception thrown when a crypto plugin fails to load.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException.PluginId">
|
||||
<summary>
|
||||
Gets the identifier of the plugin that failed to load, if known.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException.#ctor(System.String,System.String,System.Exception)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException"/> class.
|
||||
</summary>
|
||||
<param name="message">Error message.</param>
|
||||
<param name="pluginId">Plugin identifier, or null if unknown.</param>
|
||||
<param name="innerException">Inner exception, or null.</param>
|
||||
</member>
|
||||
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest">
|
||||
<summary>
|
||||
Root manifest structure declaring available crypto plugins.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Schema">
|
||||
<summary>
|
||||
Gets or inits the JSON schema URI for manifest validation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Version">
|
||||
<summary>
|
||||
Gets or inits the manifest version.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Plugins">
|
||||
<summary>
|
||||
Gets or inits the list of available crypto plugin descriptors.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor">
|
||||
<summary>
|
||||
Describes a single crypto plugin with its capabilities and metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Id">
|
||||
<summary>
|
||||
Unique plugin identifier (e.g., "openssl.gost", "cryptopro.gost").
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Name">
|
||||
<summary>
|
||||
Human-readable plugin name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Assembly">
|
||||
<summary>
|
||||
Assembly file name containing the provider implementation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Type">
|
||||
<summary>
|
||||
Fully-qualified type name of the ICryptoProvider implementation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Capabilities">
|
||||
<summary>
|
||||
Capabilities supported by this plugin (e.g., "signing:ES256", "hashing:SHA256").
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Jurisdiction">
|
||||
<summary>
|
||||
Jurisdiction/region where this plugin is applicable (e.g., "russia", "china", "eu", "world").
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Compliance">
|
||||
<summary>
|
||||
Compliance standards supported (e.g., "GOST", "FIPS-140-3", "eIDAS").
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Platforms">
|
||||
<summary>
|
||||
Supported platforms (e.g., "linux", "windows", "osx").
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Priority">
|
||||
<summary>
|
||||
Priority for provider resolution (higher = preferred). Default: 50.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Options">
|
||||
<summary>
|
||||
Default options for plugin initialization.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.ConditionalCompilation">
|
||||
<summary>
|
||||
Conditional compilation symbol required for this plugin (e.g., "STELLAOPS_CRYPTO_PRO").
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.EnabledByDefault">
|
||||
<summary>
|
||||
Whether this plugin is enabled by default. Default: true.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
8
publish/authority/appsettings.Development.json
Normal file
8
publish/authority/appsettings.Development.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
9
publish/authority/appsettings.json
Normal file
9
publish/authority/appsettings.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*"
|
||||
}
|
||||
BIN
publish/authority/libblake3_dotnet.so
Normal file
BIN
publish/authority/libblake3_dotnet.so
Normal file
Binary file not shown.
@@ -1016,6 +1016,11 @@
|
||||
Scope granting administrative control over Graph resources.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.AnalyticsRead">
|
||||
<summary>
|
||||
Scope granting read-only access to analytics data.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsScopes.Normalize(System.String)">
|
||||
<summary>
|
||||
Normalises a scope string (trim/convert to lower case).
|
||||
|
||||
BIN
publish/platform/StellaOps.Platform.WebService
Normal file
BIN
publish/platform/StellaOps.Platform.WebService
Normal file
Binary file not shown.
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v10.0",
|
||||
"name": ".NETCoreApp,Version=v10.0/linux-x64",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
".NETCoreApp,Version=v10.0": {},
|
||||
".NETCoreApp,Version=v10.0/linux-x64": {
|
||||
"StellaOps.Platform.WebService/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.AspNetCore.OpenApi": "10.0.1",
|
||||
@@ -52,45 +53,8 @@
|
||||
"fileVersion": "1.1.0.0"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/linux-arm/native/libblake3_dotnet.so": {
|
||||
"rid": "linux-arm",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
|
||||
"rid": "linux-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"native": {
|
||||
"runtimes/linux-x64/native/libblake3_dotnet.so": {
|
||||
"rid": "linux-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
|
||||
"rid": "osx-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
|
||||
"rid": "osx-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-arm64/native/blake3_dotnet.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x64/native/blake3_dotnet.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x86/native/blake3_dotnet.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
}
|
||||
}
|
||||
@@ -126,50 +90,8 @@
|
||||
"fileVersion": "2.3.0.0"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/linux-arm/native/libcapstone.so": {
|
||||
"rid": "linux-arm",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-arm64/native/libcapstone.so": {
|
||||
"rid": "linux-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"native": {
|
||||
"runtimes/linux-x64/native/libcapstone.so": {
|
||||
"rid": "linux-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-x86/native/libcapstone.so": {
|
||||
"rid": "linux-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-arm64/native/libcapstone.dylib": {
|
||||
"rid": "osx-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-x64/native/libcapstone.dylib": {
|
||||
"rid": "osx-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-arm64/native/capstone.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x64/native/capstone.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x86/native/capstone.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
}
|
||||
}
|
||||
@@ -433,81 +355,9 @@
|
||||
}
|
||||
},
|
||||
"libsodium/1.0.20.1": {
|
||||
"runtimeTargets": {
|
||||
"runtimes/ios-arm64/native/libsodium.a": {
|
||||
"rid": "ios-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-arm/native/libsodium.so": {
|
||||
"rid": "linux-arm",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-arm64/native/libsodium.so": {
|
||||
"rid": "linux-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-musl-arm/native/libsodium.so": {
|
||||
"rid": "linux-musl-arm",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-musl-arm64/native/libsodium.so": {
|
||||
"rid": "linux-musl-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-musl-x64/native/libsodium.so": {
|
||||
"rid": "linux-musl-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"native": {
|
||||
"runtimes/linux-x64/native/libsodium.so": {
|
||||
"rid": "linux-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/maccatalyst-arm64/native/libsodium.a": {
|
||||
"rid": "maccatalyst-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/maccatalyst-x64/native/libsodium.a": {
|
||||
"rid": "maccatalyst-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-arm64/native/libsodium.dylib": {
|
||||
"rid": "osx-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-x64/native/libsodium.dylib": {
|
||||
"rid": "osx-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/tvos-arm64/native/libsodium.a": {
|
||||
"rid": "tvos-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-arm64/native/libsodium.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "1.0.20.0"
|
||||
},
|
||||
"runtimes/win-x64/native/libsodium.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "1.0.20.0"
|
||||
},
|
||||
"runtimes/win-x86/native/libsodium.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "1.0.20.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1434,14 +1284,6 @@
|
||||
"assemblyVersion": "7.0.0.2",
|
||||
"fileVersion": "7.0.723.27404"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/win/lib/net7.0/System.Management.dll": {
|
||||
"rid": "win",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "7.0.0.2",
|
||||
"fileVersion": "7.0.723.27404"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Reflection.MetadataLoadContext/7.0.0": {
|
||||
@@ -1488,14 +1330,6 @@
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/win/lib/net9.0/System.Windows.Extensions.dll": {
|
||||
"rid": "win",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"YamlDotNet/16.3.0": {
|
||||
|
||||
BIN
publish/platform/StellaOps.Signals
Normal file
BIN
publish/platform/StellaOps.Signals
Normal file
Binary file not shown.
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v10.0",
|
||||
"name": ".NETCoreApp,Version=v10.0/linux-x64",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
".NETCoreApp,Version=v10.0": {},
|
||||
".NETCoreApp,Version=v10.0/linux-x64": {
|
||||
"StellaOps.Signals/1.0.0": {
|
||||
"dependencies": {
|
||||
"StackExchange.Redis": "2.10.1",
|
||||
@@ -29,45 +30,8 @@
|
||||
"fileVersion": "1.1.0.0"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/linux-arm/native/libblake3_dotnet.so": {
|
||||
"rid": "linux-arm",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
|
||||
"rid": "linux-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"native": {
|
||||
"runtimes/linux-x64/native/libblake3_dotnet.so": {
|
||||
"rid": "linux-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
|
||||
"rid": "osx-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
|
||||
"rid": "osx-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-arm64/native/blake3_dotnet.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x64/native/blake3_dotnet.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x86/native/blake3_dotnet.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
BIN
publish/platform/libblake3_dotnet.so
Normal file
BIN
publish/platform/libblake3_dotnet.so
Normal file
Binary file not shown.
BIN
publish/platform/libcapstone.so
Normal file
BIN
publish/platform/libcapstone.so
Normal file
Binary file not shown.
BIN
publish/platform/libsodium.so
Normal file
BIN
publish/platform/libsodium.so
Normal file
Binary file not shown.
@@ -8,10 +8,19 @@ USER_AGENT="stellaops-healthcheck"
|
||||
|
||||
fetch() {
|
||||
target_path="$1"
|
||||
# BusyBox wget is available in Alpine; curl not assumed.
|
||||
wget -qO- "http://${HOST}:${PORT}${target_path}" \
|
||||
--header="User-Agent: ${USER_AGENT}" \
|
||||
--timeout="${HEALTH_TIMEOUT:-4}" >/dev/null
|
||||
url="http://${HOST}:${PORT}${target_path}"
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
curl -sf --max-time "${HEALTH_TIMEOUT:-4}" \
|
||||
-H "User-Agent: ${USER_AGENT}" \
|
||||
"$url" >/dev/null
|
||||
elif command -v wget >/dev/null 2>&1; then
|
||||
wget -qO- "$url" \
|
||||
--header="User-Agent: ${USER_AGENT}" \
|
||||
--timeout="${HEALTH_TIMEOUT:-4}" >/dev/null
|
||||
else
|
||||
# Fallback: bash /dev/tcp (liveness only, no HTTP headers)
|
||||
exec 3<>"/dev/tcp/${HOST}/${PORT}" && exec 3>&-
|
||||
fi
|
||||
}
|
||||
|
||||
fail=0
|
||||
|
||||
Reference in New Issue
Block a user