#OpenID Connect ID Token Support for Integration

7 messages · Page 1 of 1 (latest)

past obsidian
#

I'm trying to integrate Appwrite authentication with Convex backend. I believe that Convex requires an OpenID Connect ID tokens, but I can't find a way to get an OIDC-compliant ID token from Appwrite.

Current Setup:
-- Successfully authenticating with Appwrite
-- Can get JWT tokens from Appwrite
-- Need to pass these to Convex
Current Appwrite JWT format:

{
  sub: '67881a4942568fc06e77',
  iss: 'https://cloud.appwrite.io/v1',
  aud: '672d1490001071c7b24b',
  iat: 1736994725,
  exp: 1736998325
}

Code:

// src/components/providers/auth-provider.tsx
export function useAuthFromAppwrite() {
  const fetchAccessToken = useCallback(async ({ forceRefreshToken }: { forceRefreshToken: boolean }) => {
    try {
      const { jwt } = await account.createJWT();
      return jwt;
    } catch (error) {
      console.error("Token creation failed:", error);
      return null;
    }
  }, []);

  return {
    isLoading: false,
    isAuthenticated: true,
    fetchAccessToken
  };
}

error from Convex:

Failed to authenticate: "Could not parse as id token", check your server auth config

Does Appwrite support generating OpenID Connect ID tokens?

Convex Auth Requirements: https://docs.convex.dev/auth/custom-auth

It's a React based app and I do have part of the project (API's, Database) working in Appwrite. Looking to migrate but need interim solution until I can get the rest migrated over.

past obsidian
past obsidian
#

I don't think is going to help. Was hoping for this:
User → Google OAuth → Appwrite (transforms) → ID Token → Convex
and this:
User → email/pwd auth → Appwrite (transforms) → ID Token → Convex
Any suggestions would be greatly appreciated.

sacred willow
#

can convex act as a OpenID Connect provider?

#

or does it just act as a client?