├── .github └── workflows │ └── dotnet.yml ├── .gitignore ├── JOS.ApiKeyAuthentication.sln ├── README.md ├── src └── JOS.ApiKeyAuthentication.Web │ ├── Features │ ├── Authentication │ │ ├── ApiKey.cs │ │ ├── ApiKeyAuthenticationHandler.cs │ │ ├── ApiKeyAuthenticationOptions.cs │ │ ├── AuthenticationBuilderExtensions.cs │ │ ├── IGetApiKeyQuery.cs │ │ ├── InMemoryGetApiKeyQuery.cs │ │ └── UnauthorizedProblemDetails.cs │ ├── Authorization │ │ ├── ForbiddenProblemDetails.cs │ │ ├── OnlyEmployeesAuthorizationHandler.cs │ │ ├── OnlyEmployeesRequirement.cs │ │ ├── OnlyManagersAuthorizationHandler.cs │ │ ├── OnlyManagersRequirement.cs │ │ ├── OnlyThirdPartiesAuthorizationHandler.cs │ │ ├── OnlyThirdPartiesRequirement.cs │ │ ├── Policies.cs │ │ └── Roles.cs │ ├── Json │ │ └── DefaultJsonSerializerOptions.cs │ ├── Shared │ │ └── ApiKeyConstants.cs │ └── User │ │ └── UserController.cs │ ├── JOS.ApiKeyAuthentication.Web.csproj │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ └── appsettings.json └── test └── JOS.ApiKeyAuthentication.Web.Tests ├── AuthenticationIntegrationTests.cs ├── AuthorizationIntegrationTests.cs ├── JOS.ApiKeyAuthentication.Web.Tests.csproj └── Properties └── launchSettings.json /.github/workflows/dotnet.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/.github/workflows/dotnet.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/.gitignore -------------------------------------------------------------------------------- /JOS.ApiKeyAuthentication.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/JOS.ApiKeyAuthentication.sln -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/README.md -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authentication/ApiKey.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authentication/ApiKey.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authentication/ApiKeyAuthenticationHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authentication/ApiKeyAuthenticationHandler.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authentication/ApiKeyAuthenticationOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authentication/ApiKeyAuthenticationOptions.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authentication/AuthenticationBuilderExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authentication/AuthenticationBuilderExtensions.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authentication/IGetApiKeyQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authentication/IGetApiKeyQuery.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authentication/InMemoryGetApiKeyQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authentication/InMemoryGetApiKeyQuery.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authentication/UnauthorizedProblemDetails.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authentication/UnauthorizedProblemDetails.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/ForbiddenProblemDetails.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/ForbiddenProblemDetails.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyEmployeesAuthorizationHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyEmployeesAuthorizationHandler.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyEmployeesRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyEmployeesRequirement.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyManagersAuthorizationHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyManagersAuthorizationHandler.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyManagersRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyManagersRequirement.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyThirdPartiesAuthorizationHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyThirdPartiesAuthorizationHandler.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyThirdPartiesRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/OnlyThirdPartiesRequirement.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/Policies.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/Policies.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Authorization/Roles.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Authorization/Roles.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Json/DefaultJsonSerializerOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Json/DefaultJsonSerializerOptions.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/Shared/ApiKeyConstants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/Shared/ApiKeyConstants.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Features/User/UserController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Features/User/UserController.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Program.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/Startup.cs -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/appsettings.Development.json -------------------------------------------------------------------------------- /src/JOS.ApiKeyAuthentication.Web/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/src/JOS.ApiKeyAuthentication.Web/appsettings.json -------------------------------------------------------------------------------- /test/JOS.ApiKeyAuthentication.Web.Tests/AuthenticationIntegrationTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/test/JOS.ApiKeyAuthentication.Web.Tests/AuthenticationIntegrationTests.cs -------------------------------------------------------------------------------- /test/JOS.ApiKeyAuthentication.Web.Tests/AuthorizationIntegrationTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/test/JOS.ApiKeyAuthentication.Web.Tests/AuthorizationIntegrationTests.cs -------------------------------------------------------------------------------- /test/JOS.ApiKeyAuthentication.Web.Tests/JOS.ApiKeyAuthentication.Web.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/test/JOS.ApiKeyAuthentication.Web.Tests/JOS.ApiKeyAuthentication.Web.Tests.csproj -------------------------------------------------------------------------------- /test/JOS.ApiKeyAuthentication.Web.Tests/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joseftw/JOS.ApiKeyAuthentication/HEAD/test/JOS.ApiKeyAuthentication.Web.Tests/Properties/launchSettings.json --------------------------------------------------------------------------------