You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: use iOS service URL in widget SSO flow to fix 401 token rejection
Since ~2026-06-01 Garmin's API tier rejects DI bearer tokens whose
audience is sso.garmin.com/sso/embed (issued by the widget login
strategy). Mobile-path tokens (audience: mobile.integration.garmin.com)
are still accepted.
Root cause: _widget_web_login used service=sso_embed in the SSO signin
params, so the CAS ticket was scoped to that URL. The DI exchange also
used service_url=sso_embed, minting a token with the wrong audience for
connectapi.garmin.com.
Fix: set service=_ios_service_url in the widget signin params and pass
_ios_service_url to _establish_session, matching what the mobile
strategies do. Also broadens the ticket extraction regex from the
hardcoded embed? prefix to ?ticket=(ST-...) so it matches any
service URL.
Same fix applied to _complete_mfa_widget.
Closes#369
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments