This project integrates Stellar account operations and management into the Microsoft Identity Platform Framework. It refactors .NET MVC classes, Razor pages, and database schemas to incorporate Stellar blockchain operations seamlessly within the framework.
The Microsoft Identity Platform, a widely used authentication system, serves millions daily across services like Windows, Xbox, Office, Outlook, LinkedIn, and thousands of enterprise applications using Microsoft Entra (formerly Active Directory). It implements OAuth 2.0 and OpenID Connect protocols, providing comprehensive features for registration, sign-in, password management, multi-factor authentication, and more.
- Account Abstraction: Enhances username/password or passwordless authentication with Stellar transaction signing and account recovery mechanisms.
- QR-Code Authorization and Signing Flow: Introduces a QR code-based multi-factor authentication system that integrates with Stellar for secure transactions.
- Role and Group Management: Adds capabilities to create and manage roles and groups within Microsoft Entra using Stellar Muxed accounts.
Comprehensive documentation is available to help you get started with the Stellar .NET Identity Platform Template:
- Introduction
- Prerequisites
- Getting Started
- Configuration
- Authentication Methods
- Keypair Management
- Running the Application
- Deployment
- Troubleshooting
- Contributing
- License
- Contact Information
-
Clone or Fork the Repository: Clone this repo and open it in Visual Studio.
git clone https://github.com/lockb0x-llc/Stellar-DotNet-Identity-Framework.git
-
Rename the Solution and Project: Rename the solution and project to your preferred application name.
-
Configure the Database Connection: Update the database connection string in
appsettings.json
or user secrets. -
Update JWT Settings: Configure JWT settings with your preferred Key, Issuer, and Audience values.
-
Select Your Database Provider: If not using PostgreSQL, update
Program.cs
to use your preferred database provider or directory service (e.g., MS Entra). -
Apply Database Migrations: Generate and apply the database schema migration script using the standard Microsoft Entity Framework tooling.
dotnet ef database update
-
Customize Identity Management Views: Customize user registration and related Identity Management Razor views in
/Areas/Identity/Pages
. -
Build Your Stellar Blockchain App: Utilize the framework to build your Stellar blockchain .NET Razor app.
-
Use Pakana Stellar Components: Consider utilizing the Pakana Stellar Components to quickly get started with transaction signing, payment processing, and more.
This approach saves weeks of development time, reduces costs, and mitigates risks while enabling robust account security features integrated with Stellar account management features.
The integration is designed to work with various databases through the Entity Framework, ensuring developers can plug the Stellar operations into their existing or new database schema with minimal configuration.
The framework is designed to be compatible with multiple deployment environments, including:
- Windows: Fully supported on all recent versions of Windows, making it ideal for desktop and server applications.
- Linux: Compatible with major Linux distributions, ensuring that applications can be hosted on a cost-effective and scalable platform.
- Azure: Ready for deployment on Azure, supporting both Windows and Linux environments, and leveraging Azure's cloud capabilities for enhanced performance and reliability.
For end-users, blockchain operations and signing are designed to be transparent. In scenarios requiring direct user interaction, such as transaction approvals or enhanced security measures, users will engage through intuitive interfaces like QR code scans or Freighter signatures.
This integration not only extends the capabilities of the Microsoft Identity Platform with cutting-edge blockchain technology but also maintains the platform's ease of use and robust security features, making it an essential upgrade for any developer working within the Microsoft ecosystem.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please follow these guidelines:
- Fork the Repository: Create your own fork to work on.
- Create a Branch: Use a descriptive branch name (e.g.,
feature/add-freighter-support
). - Submit a Pull Request: Describe your changes and link any relevant issues.
For questions, issues, or support, please open an issue on the GitHub repository.
- Stellar Development Foundation
- Freighter Wallet
- Microsoft Identity Platform
If you have any questions or need assistance, feel free to contact us:
- Email: [email protected]
- GitHub Issues: Create an Issue