canonical / canonical/authd

Make token refresh failures actionable when the system clock is incorrect

Open
#1,822 3 comments 0 reactions 0 assignees View on GitHub
jira
Dominant language
Go
Stars
308
Forks
41
Avg merge
2d 4h
Merged PRs (30d)
58

Description

### Problem

When the system clock is ahead, token verification can fail because the token appears expired. During screen unlock, GDM displays only:

> Failed to refresh token

The logs show:

> Failed to refresh token: could not verify token: oidc: token is expired (Token Expiry: 2026-08-24 14:45:12 +0200 CEST)

This does not explain the likely cause or help the user recover.

### Expected behavior

- The unlock error indicates that the system time may be incorrect.
- The message tells the user to check or correct the system time and try again.
- Logs show the token expiry and current time in human-readable form.

Contributor guide

Open the contributing guide

Research direction

Start at the screen-unlock token-refresh error path and the corresponding token-verification logging path in authd. Reproduce the failure with the system clock ahead, then verify that the unlock message recommends checking the system time and that logs include the token expiry and current time in human-readable form.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
authentication
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.