Skip to content

UI: login and access #9

Closed
5 of 5 issues completed
Closed

Description

@kartpop

Is your feature request related to a problem? Please describe.

Currently, there is no user authentication or access management interface for the console. Users cannot securely log in, manage their accounts, or control access to resources. This creates security risks and prevents proper user management. Without a login system, we cannot track usage, enforce quotas, or provide personalized experiences.

Describe the solution you'd like

Build a comprehensive authentication and access management UI with the following capabilities:

  1. Login Interface

    • Clean, modern login page
    • Email/password authentication
    • "Remember me" functionality
    • Password strength indicator
    • "Forgot password" flow with email verification
  2. User Registration

    • Self-service signup flow
    • Email verification required
    • Terms of service and privacy policy acceptance
    • Organization/project setup during onboarding
  3. Access Management Dashboard

    • User profile management (name, email, avatar, preferences)
    • Password change functionality
    • API key generation and management
    • Session management (view active sessions, logout from other devices)
    • Two-factor authentication (2FA) setup

Activity

  1. added theissue type on Jan 16, 2026
  2. removed theissue type on Jan 16, 2026
  3. added a parent issue on Jan 30, 2026
  4. Ayush8923 commented on Mar 26, 2026

    @Ayush8923
    Collaborator

    Auth Flow Discussion Summary

    Had a discussion with @vprashrex on how to design the authentication flow, especially around Google login. Below is the proposed approach:


    1. Admin-driven Onboarding (Kaapi / T4D)

    The onboarding will be managed from the Kaapi Admin Dashboard:

    Flow:
    Kaapi Admin → Organization → Project → Users

    • An organization will be onboarded by the Kaapi/T4D team
    • A project will be created under the organization
    • API keys will be generated at the project level
    • User access will be granted by adding their Gmail IDs

    2. User Login Flow (Google-based)

    Flow:
    Invitation (optional) → Google Login → Authenticated Access → Dashboard

    • Users will log in via Google (Gmail)
    • Based on their email, they will be mapped to the respective organization/project
    • Currently, we use API keys directly, but moving forward:
      • We will use Auth Tokens for user-level access
      • API keys will still exist for backend/service-level usage
    • Invitation flow will be supported but kept optional

    3. Access Handling

    • Replace direct API key usage in UI with Auth Token-based access
    • Maintain API keys for internal/backend communication
    • Ensure seamless mapping between logged-in user and org/project context

    4. Future Enhancements

    • Introduce Role-Based Access Control (RBAC)
      • e.g., Super Admin at Org level
      • Additional roles as needed
  5. moved this to To Do in Kaapi-devon Mar 26, 2026
  6. Ayush8923 commented on Mar 26, 2026

    @Ayush8923
    Collaborator

    High Level - Auth Flow Diagram

                ┌──────────────────────────────┐
                │   Kaapi Admin (T4D Team)     │
                └──────────────┬───────────────┘
                               │
                               ▼
                ┌──────────────────────────────┐
                │     Create Organization      │
                └──────────────┬───────────────┘
                               │
                               ▼
                ┌──────────────────────────────┐
                │       Create Project         │
                └──────────────┬───────────────┘
                               │
                               ▼
                ┌──────────────────────────────┐
                │     Generate API Key         │
                └──────────────┬───────────────┘
                               │
                               ▼
                ┌──────────────────────────────┐
                │   Add User (Gmail ID)        │
                └──────────────┬───────────────┘
                               │
                               ▼
        ┌────────────────────────────────────────────┐
        │         (Optional) Invitation Sent         │
        └──────────────────────────┬─────────────────┘
                                   │
                                   ▼
                ┌──────────────────────────────┐
                │     User Google Login        │
                └──────────────┬───────────────┘
                               │
                               ▼
                ┌──────────────────────────────┐
                │   Validate Gmail → Match Org │
                └──────────────┬───────────────┘
                               │
                               ▼
                ┌──────────────────────────────┐
                │   Generate Auth Token        │
                └──────────────┬───────────────┘
                               │
                               ▼
                ┌──────────────────────────────┐
                │   Redirect to Dashboard      │
                └──────────────┬───────────────┘
                               │
                               ▼
        ┌────────────────────────────────────────────┐
        │  API Calls → Use Auth Token (User Level)   │
        │  Backend → Uses API Key (Service Level)    │
        └────────────────────────────────────────────┘
    
  7. moved this from To Do to In Progress in Kaapi-devon Mar 30, 2026
  8. Ayush8923 commented on Apr 2, 2026

    @Ayush8923
    Collaborator

    @kartpop Here are some of the cases we need to handle in the Google auth flow that we discussing in the last call:

    1. Super Admin Access
    Currently, even if a user is a super admin, they can only update AI model credentials for their own organization.
    We need to allow super admins (who have access to all orgs/projects) to update credentials for any organization.

    2. Multiple Projects per User (Future Scope)
    In the future, a user may belong to multiple projects.
    We should provide the ability for users to switch between projects after login.
    This can be implemented via:

    • A dropdown to select the active project
    • Updating data based on the selected project

    3. Role-Based Access System (Future Scope)
    Currently, we do not have proper roles to assign an organization-level admin.
    We need to introduce a role-based system where:

    • An org admin can manage their organization
    • They can create/manage projects
    • They can add/manage multiple users
  9. Ayush8923 commented on Apr 20, 2026

    @Ayush8923
    Collaborator

    This is completed and deployed on staging.

  10. moved this from In Progress to Closed in Kaapi-devon Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

  • Status
    Closed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions