Reo.Core.Auth
10.0.157
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Reo.Core.Auth --version 10.0.157
NuGet\Install-Package Reo.Core.Auth -Version 10.0.157
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.157" />
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.157" />
<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.157
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Reo.Core.Auth, 10.0.157"
#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.157
#: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.157
#tool nuget:?package=Reo.Core.Auth&version=10.0.157
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.8)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 10.0.8)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Http.Polly (>= 10.0.8)
- Microsoft.Extensions.Logging (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.8)
- Newtonsoft.Json (>= 13.0.4)
- Polly (>= 8.5.0)
- Reo.Core.Extensions (>= 10.0.157)
- Reo.Core.Validation (>= 10.0.157)
- 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.161 | 78 | 5/28/2026 |
| 10.0.160 | 170 | 5/27/2026 |
| 10.0.159 | 174 | 5/26/2026 |
| 10.0.158 | 205 | 5/25/2026 |
| 10.0.157 | 202 | 5/25/2026 |
| 10.0.156 | 209 | 5/20/2026 |
| 10.0.155 | 207 | 5/19/2026 |
| 10.0.154 | 211 | 5/15/2026 |
| 10.0.153 | 207 | 5/15/2026 |
| 10.0.152 | 208 | 5/15/2026 |
| 10.0.151 | 206 | 5/15/2026 |
| 10.0.150 | 216 | 5/15/2026 |
| 10.0.149 | 219 | 5/14/2026 |
| 10.0.148 | 218 | 5/13/2026 |
| 10.0.146 | 214 | 5/12/2026 |
| 10.0.145 | 217 | 5/12/2026 |
| 10.0.143 | 227 | 5/8/2026 |
| 10.0.140 | 236 | 5/8/2026 |
| 10.0.139 | 182 | 5/8/2026 |
| 10.0.138 | 211 | 5/7/2026 |
Loading failed