🐛 Bug Report: Since update, cannot sign in to Pocket ID #183

Closed
opened 2025-10-07 00:04:57 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @andrewshaodev on GitHub.

Reproduction steps

I have run pocket-id as a docker container and use traefik for reverse proxy.

When I try to sign in since the update, I get the "An unknown error occured. Please try to sign in again." message. The logs don't seem to be very enlightening as to what is happening:

id | [GIN] 2025/06/02 - 14:46:55 | 200 | 51.544µs | 192.168.8.194 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:46:55 | 200 | 86.371µs | 192.168.8.194 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:46:55 | 401 | 204.516µs | 192.168.8.194 | GET "/api/users/me"
id | Error #01: You are not signed in
id | [GIN] 2025/06/02 - 14:46:55 | 401 | 221.624µs | 192.168.8.194 | GET "/api/users/me"
id | Error #01: You are not signed in
id | [GIN] 2025/06/02 - 14:47:08 | 200 | 55.779µs | 192.168.8.194 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:47:08 | 200 | 83.838µs | 192.168.8.194 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:47:08 | 401 | 208.259µs | 192.168.8.194 | GET "/api/users/me"
id | Error #01: You are not signed in
id | [GIN] 2025/06/02 - 14:47:08 | 401 | 226.068µs | 192.168.8.194 | GET "/api/users/me"
id | Error #01: You are not signed in
id | [GIN] 2025/06/02 - 14:47:10 | 200 | 4.262613ms | 192.168.8.194 | GET "/api/webauthn/login/start"
id | [GIN] 2025/06/02 - 14:47:10 | 200 | 4.308467ms | 192.168.8.194 | GET "/api/webauthn/login/start"
id | [GIN] 2025/06/02 - 14:47:13 | 200 | 47.002µs | ::1 | GET "/health"
id | [GIN] 2025/06/02 - 14:47:13 | 200 | 72.933µs | ::1 | GET "/health"
id | [GIN] 2025/06/02 - 14:48:43 | 200 | 48.792µs | ::1 | GET "/health"
id | [GIN] 2025/06/02 - 14:48:43 | 200 | 77.107µs | ::1 | GET "/health"
id | [GIN] 2025/06/02 - 14:50:13 | 200 | 63.524µs | ::1 | GET "/health"
id | [GIN] 2025/06/02 - 14:50:13 | 200 | 90.253µs | ::1 | GET "/health"
id | [GIN] 2025/06/02 - 14:50:38 | 200 | 4.110813ms | 192.168.8.117 | GET "/api/webauthn/login/start"
id | [GIN] 2025/06/02 - 14:50:38 | 200 | 4.154266ms | 192.168.8.117 | GET "/api/webauthn/login/start"

I have also checked to see what happens if I wipe all the persistent data from the /app/data volume bind and run it from scratch with the startup and going through login/setup.

When I try to Add the first Passkey, I get the "An unknown error occurred" popup. Here is the log for that:

id | Creating group 1000...
id | Creating user 1000...
id | 2025/06/02 14:54:00 MAXMIND_LICENSE_KEY environment variable is empty. The GeoLite2 City database won't be updated.
id | 2025/06/02 14:54:00 Starting job scheduler
id | 2025/06/02 14:54:00 Server listening on 0.0.0.0:1411
id | 2025/06/02 14:54:00 Job "SyncLdap" run successfully
id | 2025/06/02 14:54:00 Job "SendHeartbeat" failed with error: heartbeat request failed with status code: 429
id | [GIN] 2025/06/02 - 14:54:04 | 200 | 154.577µs | ::1 | GET "/health"
id | [GIN] 2025/06/02 - 14:54:04 | 200 | 182.465µs | ::1 | GET "/health"
id | [GIN] 2025/06/02 - 14:54:12 | 200 | 135.958µs | 192.168.8.117 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:54:12 | 401 | 678.953µs | 192.168.8.117 | GET "/api/users/me"
id | Error #01: You are not signed in
id | [GIN] 2025/06/02 - 14:54:12 | 200 | 182.853µs | 192.168.8.117 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:54:12 | 401 | 738.02µs | 192.168.8.117 | GET "/api/users/me"
id | Error #01: You are not signed in
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 8.003023ms | 192.168.8.117 | POST "/api/one-time-access-token/setup"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 8.047564ms | 192.168.8.117 | POST "/api/one-time-access-token/setup"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 71.035µs | 192.168.8.117 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 95.774µs | 192.168.8.117 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 3.141012ms | 192.168.8.117 | GET "/api/users/me"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 3.286105ms | 192.168.8.117 | GET "/api/users/me"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 9.150665ms | 192.168.8.117 | GET "/api/users/8264aff5-e786-412d-99ba-19877bb57a7d/profile-picture.png"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 9.291364ms | 192.168.8.117 | GET "/api/users/8264aff5-e786-412d-99ba-19877bb57a7d/profile-picture.png"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 75.06µs | 192.168.8.117 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 101.2µs | 192.168.8.117 | GET "/api/application-configuration"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 839.316µs | 192.168.8.117 | GET "/api/users/me"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 860.814µs | 192.168.8.117 | GET "/api/users/me"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 838.15µs | 192.168.8.117 | GET "/api/webauthn/credentials"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 892.083µs | 192.168.8.117 | GET "/api/webauthn/credentials"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 944.672µs | 192.168.8.117 | GET "/api/users/me"
id | [GIN] 2025/06/02 - 14:54:15 | 200 | 962.877µs | 192.168.8.117 | GET "/api/users/me"
id | [GIN] 2025/06/02 - 14:54:46 | 200 | 5.114224ms | 192.168.8.117 | GET "/api/webauthn/register/start"
id | [GIN] 2025/06/02 - 14:54:46 | 200 | 5.149818ms | 192.168.8.117 | GET "/api/webauthn/register/start"

This behavior is the same for Brave, Chrome and Safari.

This is my compose.yaml:

services:
pocket-id:
image: ghcr.io/pocket-id/pocket-id
container_name: id
restart: unless-stopped
env_file: .env
volumes:
- $DOCKERCONFDIR/pocket_id:/app/data
# Optional healthcheck
healthcheck:
test: curl -f http://localhost:1411/health
interval: 1m30s
timeout: 5s
retries: 2
start_period: 10s

and .env:

PUBLIC_APP_URL=https://id.example.com
DOCKERCONFDIR=(host volume bind directory)
TRUST_PROXY=true
MAXMIND_LICENSE_KEY=
PUID=1000
PGID=1000

Expected behavior

Allows me to authenticate with my passkey

Actual Behavior

Displays and error

Version and Environment

v1.10 using traefik (more specifically pangolin)

Log Output

No response

Originally created by @andrewshaodev on GitHub. ### Reproduction steps I have run pocket-id as a docker container and use traefik for reverse proxy. When I try to sign in since the update, I get the "An unknown error occured. Please try to sign in again." message. The logs don't seem to be very enlightening as to what is happening: id | [GIN] 2025/06/02 - 14:46:55 | 200 | 51.544µs | 192.168.8.194 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:46:55 | 200 | 86.371µs | 192.168.8.194 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:46:55 | 401 | 204.516µs | 192.168.8.194 | GET "/api/users/me" id | Error #01: You are not signed in id | [GIN] 2025/06/02 - 14:46:55 | 401 | 221.624µs | 192.168.8.194 | GET "/api/users/me" id | Error #01: You are not signed in id | [GIN] 2025/06/02 - 14:47:08 | 200 | 55.779µs | 192.168.8.194 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:47:08 | 200 | 83.838µs | 192.168.8.194 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:47:08 | 401 | 208.259µs | 192.168.8.194 | GET "/api/users/me" id | Error #01: You are not signed in id | [GIN] 2025/06/02 - 14:47:08 | 401 | 226.068µs | 192.168.8.194 | GET "/api/users/me" id | Error #01: You are not signed in id | [GIN] 2025/06/02 - 14:47:10 | 200 | 4.262613ms | 192.168.8.194 | GET "/api/webauthn/login/start" id | [GIN] 2025/06/02 - 14:47:10 | 200 | 4.308467ms | 192.168.8.194 | GET "/api/webauthn/login/start" id | [GIN] 2025/06/02 - 14:47:13 | 200 | 47.002µs | ::1 | GET "/health" id | [GIN] 2025/06/02 - 14:47:13 | 200 | 72.933µs | ::1 | GET "/health" id | [GIN] 2025/06/02 - 14:48:43 | 200 | 48.792µs | ::1 | GET "/health" id | [GIN] 2025/06/02 - 14:48:43 | 200 | 77.107µs | ::1 | GET "/health" id | [GIN] 2025/06/02 - 14:50:13 | 200 | 63.524µs | ::1 | GET "/health" id | [GIN] 2025/06/02 - 14:50:13 | 200 | 90.253µs | ::1 | GET "/health" id | [GIN] 2025/06/02 - 14:50:38 | 200 | 4.110813ms | 192.168.8.117 | GET "/api/webauthn/login/start" id | [GIN] 2025/06/02 - 14:50:38 | 200 | 4.154266ms | 192.168.8.117 | GET "/api/webauthn/login/start" I have also checked to see what happens if I wipe all the persistent data from the /app/data volume bind and run it from scratch with the startup and going through login/setup. When I try to Add the first Passkey, I get the "An unknown error occurred" popup. Here is the log for that: id | Creating group 1000... id | Creating user 1000... id | 2025/06/02 14:54:00 MAXMIND_LICENSE_KEY environment variable is empty. The GeoLite2 City database won't be updated. id | 2025/06/02 14:54:00 Starting job scheduler id | 2025/06/02 14:54:00 Server listening on 0.0.0.0:1411 id | 2025/06/02 14:54:00 Job "SyncLdap" run successfully id | 2025/06/02 14:54:00 Job "SendHeartbeat" failed with error: heartbeat request failed with status code: 429 id | [GIN] 2025/06/02 - 14:54:04 | 200 | 154.577µs | ::1 | GET "/health" id | [GIN] 2025/06/02 - 14:54:04 | 200 | 182.465µs | ::1 | GET "/health" id | [GIN] 2025/06/02 - 14:54:12 | 200 | 135.958µs | 192.168.8.117 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:54:12 | 401 | 678.953µs | 192.168.8.117 | GET "/api/users/me" id | Error #01: You are not signed in id | [GIN] 2025/06/02 - 14:54:12 | 200 | 182.853µs | 192.168.8.117 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:54:12 | 401 | 738.02µs | 192.168.8.117 | GET "/api/users/me" id | Error #01: You are not signed in id | [GIN] 2025/06/02 - 14:54:15 | 200 | 8.003023ms | 192.168.8.117 | POST "/api/one-time-access-token/setup" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 8.047564ms | 192.168.8.117 | POST "/api/one-time-access-token/setup" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 71.035µs | 192.168.8.117 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 95.774µs | 192.168.8.117 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 3.141012ms | 192.168.8.117 | GET "/api/users/me" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 3.286105ms | 192.168.8.117 | GET "/api/users/me" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 9.150665ms | 192.168.8.117 | GET "/api/users/8264aff5-e786-412d-99ba-19877bb57a7d/profile-picture.png" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 9.291364ms | 192.168.8.117 | GET "/api/users/8264aff5-e786-412d-99ba-19877bb57a7d/profile-picture.png" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 75.06µs | 192.168.8.117 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 101.2µs | 192.168.8.117 | GET "/api/application-configuration" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 839.316µs | 192.168.8.117 | GET "/api/users/me" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 860.814µs | 192.168.8.117 | GET "/api/users/me" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 838.15µs | 192.168.8.117 | GET "/api/webauthn/credentials" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 892.083µs | 192.168.8.117 | GET "/api/webauthn/credentials" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 944.672µs | 192.168.8.117 | GET "/api/users/me" id | [GIN] 2025/06/02 - 14:54:15 | 200 | 962.877µs | 192.168.8.117 | GET "/api/users/me" id | [GIN] 2025/06/02 - 14:54:46 | 200 | 5.114224ms | 192.168.8.117 | GET "/api/webauthn/register/start" id | [GIN] 2025/06/02 - 14:54:46 | 200 | 5.149818ms | 192.168.8.117 | GET "/api/webauthn/register/start" This behavior is the same for Brave, Chrome and Safari. This is my compose.yaml: services: pocket-id: image: ghcr.io/pocket-id/pocket-id container_name: id restart: unless-stopped env_file: .env volumes: - $DOCKERCONFDIR/pocket_id:/app/data # Optional healthcheck healthcheck: test: curl -f http://localhost:1411/health interval: 1m30s timeout: 5s retries: 2 start_period: 10s and .env: PUBLIC_APP_URL=https://id.example.com DOCKERCONFDIR=(host volume bind directory) TRUST_PROXY=true MAXMIND_LICENSE_KEY= PUID=1000 PGID=1000 ### Expected behavior Allows me to authenticate with my passkey ### Actual Behavior Displays and error ### Version and Environment v1.10 using traefik (more specifically pangolin) ### Log Output _No response_
OVERLORD added the bug label 2025-10-07 00:04:57 +03:00
Author
Owner

@andrewshaodev commented on GitHub:

Note, I don't bind a port because of Traefiik (more specifically Pangolin), but I have switched from port 80 to 1411

@andrewshaodev commented on GitHub: Note, I don't bind a port because of Traefiik (more specifically Pangolin), but I have switched from port 80 to 1411
Author
Owner

@bfqrst commented on GitHub:

PUBLIC_APP_URL changed to APP_URL! Double check your .env

https://pocket-id.org/docs/configuration/environment-variables/

@bfqrst commented on GitHub: _PUBLIC_APP_URL_ changed to _APP_URL_! Double check your ._env_ https://pocket-id.org/docs/configuration/environment-variables/
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pocket-id#183