8000 GitHub - pratyushbansal7/guardian
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

pratyushbansal7/guardian

 
 

Repository files navigation

Guardian

Enterprise-grade Authentication & Authorization for Modern Applications

🌟 Overview

Guardian is a robust, open-source authentication and authorization solution designed for modern applications. It provides a comprehensive suite of authentication methods while giving you complete control over your user data.

Why Guardian?

  • 🔐 Enterprise-Grade Security: Built with security best practices and regular security audits
  • 🎯 Flexible Integration: Works seamlessly with your existing user service
  • 🚀 Quick Implementation: Get up and running in minutes
  • 📱 Multi-Platform Support: Native support for web, mobile, and API authentication

📋 Table of Contents

✨ Features

Authentication Methods

  • 📱 Passwordless Authentication
    • SMS/Email OTP
  • 🔑 Traditional Authentication
    • Username/Password
  • 🌐 Social Authentication
    • Google
    • Facebook
    • Custom Providers

Session Management

  • 📊 Multi-device session tracking
  • 🔒 Secure session management
  • ⚡ Real-time session invalidation
  • 🔄 Token refresh mechanisms

Developer Experience

  • 🎯 RESTful APIs
  • 📚 Comprehensive SDK support

🚀 Getting Started

Prerequisites

  • Docker
  • Maven

Quick Start

  1. Clone the repository:
git clone https://github.com/dream-sports-labs/guardian.git
cd guardian
  1. Start Guardian:
./quick-start.sh
  1. Test the setup with a passwordless flow:
# Initialize passwordless authentication
curl --location 'localhost:8080/v1/passwordless/init' \
--header 'Content-Type: application/json' \
--header 'tenant-id: tenant1' \
--data '{
  "flow": "signinup",
  "responseType": "token",
  "contacts": [{
    "channel": "sms",
    "identifier": "9999999999"
  }],
  "metaInfo": {
    "ip": "127.0.0.1",
    "location": "localhost",
    "deviceName": "localhost",
    "source": "app"
  }
}'

# Complete authentication (using mock OTP for development)
curl --location 'localhost:8080/v1/passwordless/complete' \
--header 'Content-Type: application/json' \
--header 'tenant-id: tenant1' \
--data '{
  "state": "<state-from-init-response>",
  "otp": "999999"
}'

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details on:

  • Code of Conduct
  • Development Process
  • Pull Request Process
  • Coding Standards

👥 Community

📄 License

Guardian is licensed under the MIT License.


Built with ❤️ by the Guardian team and contributors

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.4%
  • Dockerfile 4.6%
  • Shell 2.0%
0