Skip to content

add auth option to convex cloud package / setup #6

Open

Description

@bidah

As context, the app has a cloud option that enables the bytecoded apps that are created to have a cloud option which integrates with convex. That is already working and what we need now is to add a new option called 'authentication'. This should leave as an option on the sidebar below cloud. And also it should live inside the cloud option as a button when cloud is enabled. If cloud is not enabled and a user clicks on auth, it should show a text saying that the user needs to enable cloud for authentication to work with a button to jump into the cloud option of the sidebar. So, to be clear, a user can enable cloud, but that doesn't mean that convex authentication will be enabled by default. We are focused on the convex expo implementation. Here are a reference of a code base using it. Take notice that there are different types of authentication. Oauth, password. Lets start with user password integration. This tab can be done with a key or there are manual steps. It makes sense for our flow to those manual steps to be integrated. But we have also used the key. Choose wisely which of the two options makes sense. i would consider programatic setup the current manual steps. ref: https://labs.convex.dev/auth/setup/manual, https://labs.convex.dev/auth. use gitingest https://gitingest.com/llms.txt to ingest the reference implementation codebase of auth at https://github.com/get-convex/expo-convex-auth

Activity

  1. bidah commented on Feb 23, 2026

    @bidah
    CollaboratorAuthor

    @claude plan and implement

  2. claude commented on Feb 23, 2026

    @claude

    Claude finished @bidah's task in 10m 12s —— View job • claude/issue-6-20260223-1015 • Create PR ➔


    Convex authentication option implemented

    • Explore codebase to understand existing Cloud/Convex implementation
    • Read reference implementation for Convex Expo Auth
    • Analyze sidebar structure and Cloud panel
    • Plan Authentication feature implementation
    • Create auth-sidebar-panel.tsx component
    • Update app-sidebar.tsx - add auth menu item and panel
    • Update cloud-sidebar-panel.tsx - add auth button when cloud enabled
    • Update mobile-burger-menu.tsx - add auth to navigation
    • Update page.tsx - add auth state, callbacks, and mobile sheet
    • Commit and push changes

    What was implemented

    New AuthSidebarPanel component (apps/web/components/auth-sidebar-panel.tsx):

    • Cloud disabled state: Shows an amber warning box explaining that Convex Auth requires cloud to be enabled, with a button that navigates directly to the Cloud panel
    • Cloud enabled state: Shows a checklist of what will be set up (package installation, Password provider config, auth tables in schema, HTTP routes, ConvexAuthProvider in layout) and a "Setup Authentication" button that triggers the AI to configure everything

    Sidebar changes (app-sidebar.tsx):

    • Added "Authentication" menu item with KeyRound icon below "Cloud" on desktop sidebar
    • Auth panel is wired to navigate to cloud panel and vice versa

    Cloud panel changes (cloud-sidebar-panel.tsx):

    • When cloud is enabled, shows a new "Authentication" section with a shortcut button to navigate to the auth panel

    Mobile support (mobile-burger-menu.tsx, page.tsx):

    • "Authentication" added to mobile burger menu navigation
    • Mobile sheet added for the auth panel

    AI-driven setup (page.tsx):

    • handleSetupAuth sends a detailed Convex Auth setup prompt to the AI via append(), instructing it to: install @convex-dev/auth and @auth/core, create convex/auth.ts with the Password provider, update convex/schema.ts with authTables, create convex/http.ts with auth HTTP routes, generate JWT keys via npx @convex-dev/auth, wrap the app with ConvexAuthProvider from @convex-dev/auth/react-native using expo-secure-store, and create sign-in/sign-up screens

    |

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions