omziO
Convex Community3y ago
10 replies
omzi

Using Convex with Hanko

I'm trying to get Convex to authenticate my mutations with Hanko but I'm getting an authentication error. Hanko issues JWT tokens which can be easily verified. Here's my current auth config:

const AuthConfig = {
    providers: [
        {
            domain: 'https://545180e5-xxxx-xxxx-xxxx-cece5f3a581d.hanko.io',
            applicationID: '...'
        }
    ]
};

export default AuthConfig;


I'm getting an authentication error from a mutation:

export const createUserData = mutation({
  args: {
    username: v.optional(v.string()),
    firstName: v.optional(v.string()),
    lastName: v.optional(v.string()),
    bio: v.optional(v.string()),
    isOnboarded: v.boolean()
  },
  handler: async (ctx, args) => {
    const identity = await ctx.auth.getUserIdentity();

    if (!identity) {
      throw new Error('Not authenticated!');
    }

    const userId = identity.subject;
    const document = await ctx.db.insert('userdata', {
      userId,
      username: args.username,
      firstName: args.firstName,
      lastName: args.lastName,
      bio: args.bio,
      isOnboarded: args.isOnboarded
    });

    return document;
  },
});


I guess my question now is: Is there something I'm missing? Or is there another way to configure Convex auth?
Was this page helpful?