Reo.Core.Auth
10.0.127
dotnet add package Reo.Core.Auth --version 10.0.127
NuGet\Install-Package Reo.Core.Auth -Version 10.0.127
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reo.Core.Auth" Version="10.0.127" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.Auth" Version="10.0.127" />
<PackageReference Include="Reo.Core.Auth" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Reo.Core.Auth --version 10.0.127
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Reo.Core.Auth, 10.0.127"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Reo.Core.Auth@10.0.127
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Reo.Core.Auth&version=10.0.127
#tool nuget:?package=Reo.Core.Auth&version=10.0.127
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Reo.Core.Auth
Описание пакета
Пакет Reo.Core.Auth предоставляет инструменты для реализации аутентификации, управления токенами и настройки политик авторизации в приложениях на .NET. Он решает задачи:
- Получения и хранения токенов авторизации суперадминистратора.
- Настройки политик авторизации на основе ролей или прав доступа.
- Интеграции с внешними системами аутентификации (например, OAuth2, OpenID Connect).
Основные компоненты
1. IGlobalAdminTokenService / GlobalAdminTokenService
- Описание: Сервис для получения и хранения токена суперадминистратора. Реализует логику обновления токена перед истечением срока действия.
- Функции:
- Асинхронное получение токена через HTTP-запросы.
- Кэширование токена с учетом времени истечения.
2. AllAuthorizePolicyFrom / AnyAuthorizePolicyFrom
- Описание: Атрибуты для применения множественных политик авторизации в контроллерах или действиях.
- Функции:
AllAuthorizePolicyFrom: Требует выполнения всех политик из списка.AnyAuthorizePolicyFrom: Требует выполнения хотя бы одной из политик из списка.
3. AuthConfigureOptions
- Описание: Класс конфигурации для настройки параметров аутентификации (например, URL для получения токена, имена политик).
- Использование: Настройка через
appsettings.jsonили код.
4. AccessTokenHelper
- Описание: Вспомогательный класс для работы с JWT-токенами (получение информации о токене, проверка валидности).
Требования
- .NET версия: .NET 8.0.
- Зависимости:
- Flurl (HTTP-запросы).
- IdentityModel (работа с JWT).
- Microsoft.AspNetCore.Authentication.JwtBearer ( интеграция с ASP.NET Core).
Установка
NuGet Package Manager
Install-Package Reo.Core.Auth
.NET CLI
dotnet add package Reo.Core.Auth
Настройка
Регистрация в ASP.NET Core
- Добавьте сервис в DI-контейнер:
services.AddReoAuth();
Использование атрибутов
Пример применения политик в контроллере:
[ApiController]
[Route("api/[controller]")]
public class AdminController : ControllerBase
{
[HttpGet]
[AllAuthorizePolicyFrom("Admin_Read", "Admin_Write")]
public IActionResult GetSecureData()
{
return Ok("Доступ разрешен только с полным набором прав.");
}
[HttpGet("any")]
[AnyAuthorizePolicyFrom("Admin_Read", "Admin_Write")]
public IActionResult GetAnyAccess()
{
return Ok("Доступ разрешен при наличии хотя бы одного права.");
}
}
Использование
Пример 1: Получение токена
public class AuthService
{
private readonly IGlobalAdminTokenService _tokenService;
public AuthService(IGlobalAdminTokenService tokenService)
{
_tokenService = tokenService;
}
public async Task<string> GetAdminTokenAsync()
{
return await _tokenService.GetAccessTokenAsync(CancellationToken.None);
}
}
Пример 2: Настройка политик
// В Startup.cs или Program.cs
services.AddAuthorization(options =>
{
options.AddPolicy("Admin_Read", policy => policy.RequireRole("Admin"));
options.AddPolicy("Admin_Write", policy => policy.RequireRole("Admin"));
});
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Duende.IdentityModel (>= 8.1.0)
- FluentValidation (>= 12.1.1)
- FluentValidation.AspNetCore (>= 11.3.1)
- Flurl (>= 4.0.0)
- Flurl.Http (>= 4.0.2)
- Flurl.Http.Newtonsoft (>= 0.9.1)
- JetBrains.Annotations (>= 2025.2.4)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 10.0.7)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 10.0.7)
- Microsoft.Extensions.Configuration (>= 10.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Http.Polly (>= 10.0.7)
- Microsoft.Extensions.Logging (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Options (>= 10.0.7)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.7)
- Newtonsoft.Json (>= 13.0.4)
- Polly (>= 8.5.0)
- Reo.Core.Extensions (>= 10.0.127)
- Reo.Core.Validation (>= 10.0.127)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- Swashbuckle.AspNetCore (>= 10.1.7)
- System.Linq.Async (>= 7.0.1)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Reo.Core.Auth:
| Package | Downloads |
|---|---|
|
Reo.Core.IdentityModel
Package Description |
|
|
Reo.Core.ApiDocumentation
Package Description |
|
|
Reo.Core.FileStorage
Package Description |
|
|
Reo.Core.SequenceGenerator
Package Description |
|
|
Reo.MnoApi.Sensors
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.127 | 0 | 5/5/2026 |
| 10.0.126 | 0 | 5/5/2026 |
| 10.0.125 | 189 | 4/27/2026 |
| 10.0.124 | 173 | 4/24/2026 |
| 10.0.120 | 159 | 4/24/2026 |
| 10.0.119 | 163 | 4/23/2026 |
| 10.0.117 | 163 | 4/23/2026 |
| 10.0.116 | 177 | 4/22/2026 |
| 10.0.115 | 161 | 4/22/2026 |
| 10.0.114 | 161 | 4/21/2026 |
| 10.0.113 | 159 | 4/21/2026 |
| 10.0.112 | 169 | 4/17/2026 |
| 10.0.111 | 172 | 4/16/2026 |
| 10.0.110 | 162 | 4/16/2026 |
| 10.0.109 | 160 | 4/16/2026 |
| 10.0.108 | 161 | 4/16/2026 |
| 10.0.107 | 160 | 4/16/2026 |
| 10.0.106 | 164 | 4/16/2026 |
| 10.0.105 | 167 | 4/15/2026 |
| 10.0.104 | 171 | 4/15/2026 |
Loading failed