goauthentik / goauthentik/authentik
Linkwarden + OAuth = Unique constraint failed on the fields: (`username`)
- Dominant language
- Python
- Stars
- 25.6k
- Forks
- 2k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 644
Description
**Describe your question/**
Linkwarden doesnt allow me to login or signup with authentik
**Relevant info**
Linkwarden Docker 2.7.1
Authentik Docker 2024.8.3
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Logs**
LInkwarden log:
First an last message might not be relevant to this.
```
2024-10-13T12:14:30.264575524Z [0] prisma:query SELECT "public"."Account"."id", "public"."Account"."userId", "public"."Account"."type", "public"."Account"."provider", "public"."Account"."providerAccountId", "public"."Account"."refresh_token", "public"."Account"."access_token", "public"."Account"."expires_at", "public"."Account"."token_type", "public"."Account"."scope", "public"."Account"."id_token", "public"."Account"."session_state" FROM "public"."Account" WHERE "public"."Account"."providerAccountId" = $1 LIMIT $2 OFFSET $3
2024-10-13T12:14:30.266052554Z [0] prisma:query SELECT "public"."Account"."id", "public"."Account"."userId" FROM "public"."Account" WHERE (("public"."Account"."provider" = $1 AND "public"."Account"."providerAccountId" = $2) AND 1=1) LIMIT $3 OFFSET $4
2024-10-13T12:14:30.273785404Z [0] prisma:query SELECT "public"."User"."id", "public"."User"."name", "public"."User"."username", "public"."User"."email", "public"."User"."emailVerified", "public"."User"."unverifiedNewEmail", "public"."User"."image", "public"."User"."password", "public"."User"."locale", "public"."User"."collectionOrder", "public"."User"."linksRouteTo", "public"."User"."preventDuplicateLinks", "public"."User"."archiveAsScreenshot", "public"."User"."archiveAsMonolith", "public"."User"."archiveAsPDF", "public"."User"."archiveAsWaybackMachine", "public"."User"."isPrivate", "public"."User"."createdAt", "public"."User"."updatedAt" FROM "public"."User" WHERE ("public"."User"."email" = $1 AND 1=1) LIMIT $2 OFFSET $3
2024-10-13T12:14:30.275060049Z [0] prisma:query BEGIN
2024-10-13T12:14:30.276289605Z [0] prisma:query INSERT INTO "public"."User" ("name","username","email","emailVerified","locale","collectionOrder","linksRouteTo","preventDuplicateLinks","archiveAsScreenshot","archiveAsMonolith","archiveAsPDF","archiveAsWaybackMachine","isPrivate","createdAt","updatedAt") VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15) RETURNING "public"."User"."id"
2024-10-13T12:14:30.276410502Z [0] prisma:query ROLLBACK
2024-10-13T12:14:30.276897989Z [0] [next-auth][error][adapter_error_createUser]
2024-10-13T12:14:30.276905791Z [0] https://next-auth.js.org/errors#adapter_error_createuser
2024-10-13T12:14:30.276908271Z [0] Invalid `prisma.user.create()` invocation:
2024-10-13T12:14:30.276910580Z | 0=0
2024-10-13T12:14:30.276912440Z | 0=0
2024-10-13T12:14:30.276914123Z [0] Unique constraint failed on the fields: (`username`) {
2024-10-13T12:14:30.276916010Z [0] message: '\n' +
2024-10-13T12:14:30.276918064Z [0] 'Invalid `prisma.user.create()` invocation:\n' +
2024-10-13T12:14:30.276920046Z [0] '\n' +
2024-10-13T12:14:30.276921870Z [0] '\n' +
2024-10-13T12:14:30.276923913Z [0] 'Unique constraint failed on the fields: (`username`)',
2024-10-13T12:14:30.276925988Z [0] stack: 'PrismaClientKnownRequestError: \n' +
2024-10-13T12:14:30.276927827Z [0] 'Invalid `prisma.user.create()` invocation:\n' +
2024-10-13T12:14:30.276929663Z [0] '\n' +
2024-10-13T12:14:30.276931489Z [0] '\n' +
2024-10-13T12:14:30.276933240Z [0] 'Unique constraint failed on the fields: (`username`)\n' +
2024-10-13T12:14:30.276935090Z [0] ' at Rn.handleRequestError (/data/node_modules/@prisma/client/runtime/library.js:174:7325)\n' +
2024-10-13T12:14:30.276937002Z [0] ' at Rn.handleAndLogRequestError (/data/node_modules/@prisma/client/runtime/library.js:174:6754)\n' +
2024-10-13T12:14:30.276948231Z [0] ' at Rn.request (/data/node_modules/@prisma/client/runtime/library.js:174:6344)',
2024-10-13T12:14:30.276950392Z [0] name: 'PrismaClientKnownRequestError'
2024-10-13T12:14:30.276952279Z [0] }
2024-10-13T12:14:35.625804388Z [1] prisma:query SELECT 1
2024-10-13T12:14:35.625825009Z [1] prisma:query SELECT "public"."Link"."id", "public"."Link"."name", "public"."Link"."type", "public"."Link"."description", "public"."Link"."collectionId", "public"."Link"."url", "public"."Link"."textContent", "public"."Link"."preview", "public"."Link"."image", "public"."Link"."pdf", "public"."Link"."readable", "public"."Link"."monolith", "public"."Link"."lastPreserved", "public"."Link"."importDate", "public"."Link"."createdAt", "public"."Link"."updatedAt" FROM "public"."Link" WHERE ("public"."Link"."url" IS NOT NULL AND ("public"."Link"."image" IS NULL OR "public"."Link"."image" = $1 OR "public"."Link"."pdf" IS NULL OR "public"."Link"."pdf" = $2 OR "public"."Link"."readable" IS NULL OR "public"."Link"."readable" = $3 OR "public"."Link"."monolith" IS NULL OR "public"."Link"."monolith" = $4)) ORDER BY "public"."Link"."id" ASC LIMIT $5 OFFSET $6
```
Authentik log:
```
2024-10-13T12:17:11.573486727Z INF | domain_url=null event=Task started logger=authentik.root.celery pid=2306 schema_name=public task_id=597ce21b-91c3-4172-802d-d49ef8ca7a50 task_name=event_notification_handler timestamp=2024-10-13T12:17:11.572897
2024-10-13T12:17:11.594277018Z INF | domain_url=null event=Task published logger=authentik.root.celery pid=2306 schema_name=public task_id=4965efd1d2784bd39b1ca699607481e5 task_name=authentik.events.tasks.event_trigger_handler timestamp=2024-10-13T12:17:11.594093
2024-10-13T12:17:11.595492765Z INF | domain_url=null event=Task published logger=authentik.root.celery pid=2306 schema_name=public task_id=93fb44278fa242849c4b4cc3ed606a05 task_name=authentik.events.tasks.event_trigger_handler timestamp=2024-10-13T12:17:11.595334
2024-10-13T12:17:11.596601743Z INF | domain_url=null event=Task published logger=authentik.root.celery pid=2306 schema_name=public task_id=494a251380e148ffa4013f9cca0a7ad4 task_name=authentik.events.tasks.event_trigger_handler timestamp=2024-10-13T12:17:11.596443
2024-10-13T12:17:11.597544319Z INF | domain_url=null event=Task finished logger=authentik.root.celery pid=2306 schema_name=public state=SUCCESS task_id=597ce21b91c34172802dd49ef8ca7a50 task_name=event_notification_handler timestamp=2024-10-13T12:17:11.597387
2024-10-13T12:17:11.811632211Z INF | domain_url=null event=Task started logger=authentik.root.celery pid=2306 schema_name=public task_id=4965efd1-d278-4bd3-9b1c-a699607481e5 task_name=event_trigger_handler timestamp=2024-10-13T12:17:11.811435
2024-10-13T12:17:11.848627862Z INF | domain_url=null event=Task started logger=authentik.root.celery pid=2388 schema_name=public task_id=93fb4427-8fa2-4284-9c4b-4cc3ed606a05 task_name=event_trigger_handler timestamp=2024-10-13T12:17:11.848210
2024-10-13T12:17:11.850206637Z INF | domain_url=null event=Task finished logger=authentik.root.celery pid=2306 schema_name=public state=SUCCESS task_id=4965efd1d2784bd39b1ca699607481e5 task_name=event_trigger_handler timestamp=2024-10-13T12:17:11.850023
2024-10-13T12:17:11.855333729Z INF | domain_url=null event=Task started logger=authentik.root.celery pid=2306 schema_name=public task_id=494a2513-80e1-48ff-a401-3f9cca0a7ad4 task_name=event_trigger_handler timestamp=2024-10-13T12:17:11.854658
2024-10-13T12:17:11.897181657Z INF | domain_url=null event=Task finished logger=authentik.root.celery pid=2306 schema_name=public state=SUCCESS task_id=494a251380e148ffa4013f9cca0a7ad4 task_name=event_trigger_handler timestamp=2024-10-13T12:17:11.896980
2024-10-13T12:17:11.899652064Z INF | domain_url=null event=Task finished logger=authentik.root.celery pid=2388 schema_name=public state=SUCCESS task_id=93fb44278fa242849c4b4cc3ed606a05 task_name=event_trigger_handler timestamp=2024-10-13T12:17:11.898502
```
**Version and Deployment (please complete the following information):**
- authentik version: 2024.8.3
- Deployment: docker-compose
**Additional context**
Linkwarden doesn't have issues login and sign up normally (without authentik)
Knowing kinda nothing I thought might have to do with this
Provider - Preview - JWT payload
```
{
"iss": "https://domain.example.com/application/o/linkwarden/",
"sub": "longthing1",
"aud": "longthing2",
"exp": numbers,
"iat": numbers,
"auth_time": 1728822012,
"acr": "goauthentik.io/providers/oauth2/default",
"amr": [
"pwd",
"mfa"
],
"email": "foobar@example.com",
"email_verified": true,
"name": "Foobar",
"given_name": "Foobar",
"preferred_username": "Foobar",
"nickname": "Foobar",
"groups": []
}
```
since it doesnt have a "username" field, onl preferred_username.
If this is something wrong in linkwarden or its dependencies I wouldn't mind opening and issue there, but in the meantime I would like to know to work around it
Contributor guide
Assessment
This issue has not been assessed yet.