Optional, opt-in (online_inbox.enabled, default false → zero network). Worker-side reconcile loop: pull web-created tasks down as Idle, push the list catalog and the Idle backlog mirror up. Auth behind IOnlineAuthProvider (StaticTokenAuthProvider default; ZitadelAuthProvider stubbed for Phase 2). DPAPI refresh-token store. 35 tests, no real network/Zitadel/Claude. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
14 lines
569 B
C#
14 lines
569 B
C#
using ClaudeDo.Worker.Online.Interfaces;
|
|
|
|
namespace ClaudeDo.Worker.Online;
|
|
|
|
// TODO(online-inbox): wire the Zitadel package once client config is known (Phase 2).
|
|
// Replace this stub with a real implementation that uses OnlineTokenStore to read the
|
|
// refresh token and exchanges it for an access token via the Zitadel OIDC endpoint,
|
|
// caching the access token until near expiry.
|
|
public sealed class ZitadelAuthProvider : IOnlineAuthProvider
|
|
{
|
|
public Task<string?> GetAccessTokenAsync(CancellationToken ct = default)
|
|
=> Task.FromResult<string?>(null);
|
|
}
|