Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1820 api authorization with roles #1846

Closed
wants to merge 15 commits into from

Conversation

pournasserian
Copy link
Contributor

No description provided.

@pournasserian pournasserian self-assigned this Aug 6, 2024
@pournasserian pournasserian added the enhancement New feature or request label Aug 6, 2024
@pournasserian pournasserian added this to the MVP milestone Aug 6, 2024
@pournasserian pournasserian linked an issue Aug 6, 2024 that may be closed by this pull request
Refactored the `ApiToken` class to replace `Token` and `ExpiredAt` with `Key`, `Secret`, and `ExpireAt`. Removed `ApiKey` property. Replaced `ApiTokenProvider` with a new HMACSHA256-based implementation. Updated `ApiTokenService` to use new methods, added `RegenerateSecret` and `Validate` methods. Simplified `PolicyAttribute` by removing `Microsoft.AspNetCore.Authorization` dependency. Removed `Constants` class. Updated controllers to use `PolicyAll` attribute. Updated `PolicyAuthorizeFilter` to use `X-API-AUTH` header and new `ApiTokenService` methods. Updated `IApiTokenRepository` and implementations to use `Key` property. Added new exception codes for token issues. Added `JwtApiTokenProvider` and updated `IApiTokenProvider` interface.
Reformatted code in ApiTokenProvider.cs and RoleController.cs to improve readability and maintain consistent formatting. Removed an unnecessary blank line in ApiTokenRepository.cs. No functional changes were made.
- Modify `Update` method in `ApiTokenController` to use `mapper` for mapping `ApiTokenUpdateRequest` to `ApiToken`.
- Update `apiTokenService.Update` to accept `ApiToken` and `CancellationToken`.
- Add mapping configuration in `MappingProfile` for `ApiTokenUpdateRequest` to `ApiToken`.
- Replace `Token` and `ExpiredAt` with `Key`, `Secret`, and `ExpireAt` in `ApiTokenDetailResponse`.
- Include `ExpireAt` and reorder `Description` in `ApiTokenUpdateRequest`.
Updated GeneratedApiClients.cs to use newer versions of NSwag (14.1.0.0) and NJsonSchema (11.0.2.0). Introduced instance-specific JsonSerializerOptions for flexible serialization settings. Added Initialize method in constructors and partial methods for customization. Updated pragma directives and renamed classes/properties for consistency.

Renamed FileUploadConfiguration to FileUploadConfig in multiple files. Updated labels in ApiTokenListPlugin.razor and fixed formatting in SingleFileFieldFormFilePicker.razor.cs.
Introduced `ConfigManager` and `IConfigManager` for improved configuration handling. Updated `SetupManager` to initialize the database and API token using the new configuration system. Removed `ConfigurationExtensions` class and its methods. Updated `ApiClientServiceExtensions` to use `ApiSettings` configuration. Modified `appsettings.json` to reflect the new configuration structure.
@pournasserian pournasserian marked this pull request as draft August 14, 2024 22:36
@pournasserian pournasserian deleted the 1820_API_authorization_with_roles branch August 16, 2024 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

API authorization with roles
2 participants