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

Closed
opened 2025-07-08 08:40:05 -04:00 by AtHeartEngineer · 0 comments

Originally created by @andrewshaodev on 6/2/2025

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 6/2/2025* ### 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_
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/pocket-id#109