Hexalith.IdentityStores
1.0.10
dotnet add package Hexalith.IdentityStores --version 1.0.10
NuGet\Install-Package Hexalith.IdentityStores -Version 1.0.10
<PackageReference Include="Hexalith.IdentityStores" Version="1.0.10" />
<PackageVersion Include="Hexalith.IdentityStores" Version="1.0.10" />
<PackageReference Include="Hexalith.IdentityStores" />
paket add Hexalith.IdentityStores --version 1.0.10
#r "nuget: Hexalith.IdentityStores, 1.0.10"
#addin nuget:?package=Hexalith.IdentityStores&version=1.0.10
#tool nuget:?package=Hexalith.IdentityStores&version=1.0.10
Hexalith.IdentityStores
Build Status
Overview
This repository contains the Hexalith Dapr Identity Stores components, providing functionalities related to user identity management, authentication, and authorization within the Hexalith ecosystem. It includes libraries, server implementations, and examples for integrating identity services into applications.
Dapr Integration
Dapr (Distributed Application Runtime) is a portable, event-driven runtime that makes it easy to build resilient, microservice-based applications. Hexalith.IdentityStores leverages Dapr's capabilities in the following ways:
Key Dapr Building Blocks Used
- State Management: Identity data is persisted using Dapr's state management, allowing for pluggable storage providers (Redis, Azure CosmosDB, etc.)
- Service-to-Service Invocation: Secure communication between identity services and consumers
- Pub/Sub Messaging: Event-driven architecture for identity-related events (user created, role changed, etc.)
- Secrets Management: Secure storage of sensitive identity configuration
Benefits of Dapr in Hexalith.IdentityStores
- Platform Agnostic: Runs on Kubernetes, VMs, or local development environments
- Pluggable Components: Easily swap underlying infrastructure (databases, message queues) without code changes
- Language Independence: Interact with identity services from any language or framework that supports HTTP/gRPC
- Built-in Resilience: Circuit breaking, retries, and distributed tracing capabilities
Dapr Architecture in Hexalith.IdentityStores
Identity data is stored in Dapr state stores while the authentication and authorization logic is implemented as Dapr services. Applications can interact with the identity services through standard Dapr APIs, using either the Dapr client SDKs or direct HTTP/gRPC calls.
Repository Structure
The repository is organized as follows:
src/
: Contains the core source code.src/libraries/
: Class libraries intended to be packaged as NuGet packages. This is likely where the main identity store logic resides.src/servers/
: Server projects, potentially including API endpoints or services related to identity, possibly packaged as Docker containers.src/examples/
: Sample projects demonstrating how to use the libraries and servers.
test/
: Contains unit, integration, and other test projects.test/Hexalith.IdentityStores.Tests/
: Example test project.
tools/
: Utility scripts for development tasks (e.g.,flush_redis.bat
).Hexalith.Builds/
: Git submodule containing shared build configurations, tools, and scripts. See Hexalith.Builds/README.md for details on the build system..github/
: GitHub-specific files, including workflow definitions and issue templates.- Root Files: Configuration files (
.sln
,.props
,package.json
), license, documentation instructions (DOCUMENTATION.ai.md
), and this README.
Getting Started
Prerequisites
- .NET 9 SDK or later
- PowerShell 7 or later (for initialization script)
- Git (including Git LFS if used)
- Dapr
- Docker (if running server projects)
Initialization
- Clone the repository:
If you cloned withoutgit clone --recurse-submodules https://github.com/Hexalith/Hexalith.IdentityStores.git cd Hexalith.IdentityStores
--recurse-submodules
, rungit submodule update --init --recursive
.
Building the Code
Build the entire solution using the .NET CLI:
dotnet build Hexalith.IdentityStores.sln
Development
Running Tests
Execute tests using the .NET CLI:
dotnet test Hexalith.IdentityStores.sln
Contributing
Please refer to the contribution guidelines (if available) before submitting pull requests. Ensure code adheres to the project's coding standards and passes all tests.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
-
net9.0
- AspNet.Security.OAuth.GitHub (>= 9.2.0)
- AspNet.Security.OAuth.Twitter (>= 9.2.0)
- Google.Apis.Auth.AspNetCore3 (>= 1.69.0)
- Hexalith.Application.Partitions.Abstractions (>= 1.60.0)
- Hexalith.Application.Sessions.Abstractions (>= 1.60.0)
- Hexalith.IdentityStores.Abstractions (>= 1.0.10)
- Hexalith.Infrastructure.DaprRuntime (>= 1.60.0)
- Microsoft.AspNetCore.Authentication.Facebook (>= 9.0.4)
- Microsoft.AspNetCore.Authentication.MicrosoftAccount (>= 9.0.4)
- Microsoft.Identity.Web (>= 3.8.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Hexalith.IdentityStores:
Package | Downloads |
---|---|
Hexalith.Security.Servers
Hexalith is a set of libraries to build an application with micro-service architecture. |
|
Hexalith.IdentityStores.UI
Hexalith is a set of libraries to build an application with micro-service architecture. |
GitHub repositories
This package is not used by any popular GitHub repositories.