From 4350731f366a4e00fad8a18e8e19205f8dfc68d8 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Mon, 7 Sep 2026 01:35:03 -0400 Subject: [PATCH] docs: correct the saveClientInformation contract comment Copilot review (#2287, suppressed comment): the comment still said internal callers supply no issuer, which stopped being true when ensureCimdClientRegistration started binding its save to the discovered issuer. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Lmj6X2epWpPE7ScdSKQmtA Signed-off-by: cliffhall --- core/auth/providers.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/auth/providers.ts b/core/auth/providers.ts index d6225643..18af9ed0 100644 --- a/core/auth/providers.ts +++ b/core/auth/providers.ts @@ -293,9 +293,12 @@ export class BaseOAuthClientProvider implements OAuthClientProvider { // SDK v2's `OAuthClientProvider.saveClientInformation` passes an // `OAuthClientInformationContext` ({ issuer }); our own DCR/CIMD callers // pass `SaveClientInformationOptions` ({ registrationKind }). Accept either - // and read whichever keys are present: the SDK supplies `issuer` (SEP-2352 - // per-AS keying) and no kind — `resolveSdkRegistrationKind` recovers it — - // while our callers supply the registration kind and no issuer yet. + // and read whichever keys are present. The SDK supplies `issuer` (SEP-2352 + // per-AS keying) and never a kind, so `resolveSdkRegistrationKind` recovers + // one. Our own callers always supply the kind, and supply the `issuer` too + // when they know it — `ensureCimdClientRegistration` does, having just + // discovered it; the unkeyed slot is only for the case where AS metadata + // carried no `issuer` at all. options?: SaveClientInformationOptions | OAuthClientInformationContext, ): Promise { const issuer = options && "issuer" in options ? options.issuer : undefined;