thunder

module
v0.0.0-...-43a04ef Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2025 License: Apache-2.0

README

⚡ Asgardeo Thunder — Cloud-Native Identity Management

Asgardeo Thunder is a modern, cloud-native identity management service. It empowers you to design tailored login, registration, and recovery flows using a flexible identity flow designer.

Thunder secures users, applications, services, and AI agents by managing their identities and offering a complete suite of supporting capabilities.

Designed for extensibility, scalability, and seamless containerized deployment, Thunder integrates naturally with microservices and DevOps environments—serving as the core identity layer for your cloud platform.


🚀 Features (WIP)

  • Standards-Based
    • OAuth 2.1, OpenID Connect (OIDC)
    • SCIM 2.0
  • 🛠️ Visual Identity Flow Designer
  • 👤 User & Identity Management
  • 🔗 Social Login
  • 🔐 Multi-Factor Authentication (MFA)
  • 🌐 RESTful APIs

⚡ Quickstart

✅ Prerequisites
  • Go 1.23+
  • cURL
  • Node.js 14+
  • React 19+

🛠 Step 1: Build and Run the Product
make run

🔑 Step 2: Try Out the Product
1️⃣ Try Out Client Credentials Flow
curl -k -X POST https://localhost:8090/oauth2/token \
  -H 'Authorization: Basic Y2xpZW50MTIzOnNlY3JldDEyMw==' \
  -d 'grant_type=client_credentials'
  • Client ID: client123
  • Client Secret: secret123
2️⃣ Try Out Authorization Code Flow
  • Open the following URL in your browser:

    https://localhost:8090/oauth2/authorize?response_type=code&client_id=client123&redirect_uri=https://localhost:3000&scope=openid&state=state_1
    
  • Enter the following credentials:

    • Username: thor

    • Password: thor123

      Note: The credentials can be configured in the repository/conf/deployment.yaml file under the user_store section.

  • After successful authentication, you will be redirected to the redirect URI with the authorization code and state.

    
    https://localhost:3000/?code=<code>&state=state_1
    
  • Copy the authorization code and exchange it for an access token using the following cURL command:

    curl -k --location 'https://localhost:8090/oauth2/token' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --header 'Authorization: Basic Y2xpZW50MTIzOnNlY3JldDEyMw==' \
    --data-urlencode 'grant_type=authorization_code' \
    --data-urlencode 'redirect_uri=https://localhost:3000' \
    --data-urlencode 'code=<code>'
    
    • Client ID: client123
    • Client Secret: secret123

🧪 Running Integration Tests

Building the product with make all will run the integration tests by default. However if you want to run the tests manually, follow the steps below.

1️⃣ Build the Product
make clean build
2️⃣ Run the Tests
make test

Running Development Environment

make run

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL