Iskra.Core.Auth.Abstractions
1.0.70
See the version list below for details.
dotnet add package Iskra.Core.Auth.Abstractions --version 1.0.70
NuGet\Install-Package Iskra.Core.Auth.Abstractions -Version 1.0.70
<PackageReference Include="Iskra.Core.Auth.Abstractions" Version="1.0.70" />
paket add Iskra.Core.Auth.Abstractions --version 1.0.70
#r "nuget: Iskra.Core.Auth.Abstractions, 1.0.70"
// Install Iskra.Core.Auth.Abstractions as a Cake Addin #addin nuget:?package=Iskra.Core.Auth.Abstractions&version=1.0.70 // Install Iskra.Core.Auth.Abstractions as a Cake Tool #tool nuget:?package=Iskra.Core.Auth.Abstractions&version=1.0.70
Документация к библиотеке Iskra.Core.Auth.Abstractions
Обзор
Библиотека Iskra.Core.Auth.Abstractions
предоставляет абстракции и интерфейсы для работы с авторизованными пользователями в приложениях. Она включает модели, сервисы и утилиты для обработки информации о пользователях, а также для взаимодействия с токенами доступа.
Содержание
Модели
UserInfo
Класс UserInfo
представляет информацию о текущем авторизованном пользователе.
Свойства
- Id: Уникальный идентификатор пользователя.
- Email: Электронная почта пользователя.
- Roles: Роли, которыми обладает пользователь.
- Permissions: Права доступа пользователя.
- Claims: Все утверждения о пользователе.
Методы
- HasPermission(string permissionClaimName): Проверяет наличие указанного права у пользователя.
FullName
Класс FullName
представляет полное имя пользователя, включая имя, отчество и фамилию.
Свойства
- FirstName: Имя пользователя.
- MiddleName: Отчество пользователя (опционально).
- LastName: Фамилия пользователя.
Сервисы
IUserInfoService
Интерфейс IUserInfoService
предоставляет методы для работы с авторизованным пользователем.
Методы
- GetUserInfoOrThrowAsync(CancellationToken token): Асинхронно получает информацию о текущем пользователе или выбрасывает исключение, если информация не может быть получена.
- GetAccessTokenAsync(CancellationToken token): Асинхронно получает токен доступа для текущего пользователя.
- GetUserIpAddress(): Получает IP адрес текущего пользователя.
Утилиты
ClaimsException
Класс ClaimsException
представляет исключение, связанное с ошибками в утверждениях о пользователе.
Конструкторы
- ClaimsException(string message): Создает новое исключение с указанным сообщением.
Пример использования
using Iskra.Core.Auth.Abstractions;
using System.Threading.Tasks;
public class UserService
{
private readonly IUserInfoService _userInfoService;
public UserService(IUserInfoService userInfoService)
{
_userInfoService = userInfoService;
}
public async Task<UserInfo> GetCurrentUserInfoAsync(CancellationToken token)
{
return await _userInfoService.GetUserInfoOrThrowAsync(token);
}
public async Task<string?> GetAccessTokenAsync(CancellationToken token)
{
return await _userInfoService.GetAccessTokenAsync(token);
}
public string GetUserIpAddress()
{
return _userInfoService.GetUserIpAddress();
}
}
Заключение
Библиотека Iskra.Core.Auth.Abstractions
предоставляет удобные инструменты для работы с авторизованными пользователями,
что упрощает разработку и поддержание безопасности в приложениях.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- FluentValidation (>= 11.11.0)
- IdentityModel (>= 7.0.0)
- JetBrains.Annotations (>= 2024.3.0)
- Reo.Core.CodeConventions (>= 8.0.174)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Iskra.Core.Auth.Abstractions:
Package | Downloads |
---|---|
Iskra.Core.Auth
Настройка авторизации в Keycloak. |
|
Iskra.Core.DataBase
Package Description |
|
Iskra.Clients.SequenceGenerator
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.