@noodleseed/one 0.71.0 → 0.73.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-skills-state.d.ts +40 -0
- package/dist/agent-skills-state.d.ts.map +1 -0
- package/dist/agent-skills-state.js +184 -0
- package/dist/agent-skills-state.js.map +1 -0
- package/dist/agents.d.ts +15 -4
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +196 -76
- package/dist/agents.js.map +1 -1
- package/dist/auth-discovery.d.ts +2 -0
- package/dist/auth-discovery.d.ts.map +1 -1
- package/dist/auth-discovery.js +63 -4
- package/dist/auth-discovery.js.map +1 -1
- package/dist/bin.js +0 -0
- package/dist/commands/catalog-data-config.d.ts.map +1 -1
- package/dist/commands/catalog-data-config.js +10 -1
- package/dist/commands/catalog-data-config.js.map +1 -1
- package/dist/commands/catalog-data-resources.d.ts.map +1 -1
- package/dist/commands/catalog-data-resources.js +5 -5
- package/dist/commands/catalog-data-resources.js.map +1 -1
- package/dist/commands/config-values.d.ts +10 -2
- package/dist/commands/config-values.d.ts.map +1 -1
- package/dist/commands/config-values.js +81 -1
- package/dist/commands/config-values.js.map +1 -1
- package/dist/skills-update.d.ts +1 -0
- package/dist/skills-update.d.ts.map +1 -1
- package/dist/skills-update.js +81 -5
- package/dist/skills-update.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.d.ts +20 -0
- package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.js +280 -0
- package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts +18 -4
- package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/index.js +57 -46
- package/node_modules/@noodle-borg/agent-kit/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-feedback-ref.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-feedback-ref.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-registry.d.ts +31 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-registry.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-registry.js +116 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-registry.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-router.d.ts +3 -3
- package/node_modules/@noodle-borg/agent-kit/dist/skill-router.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-router.js +35 -25
- package/node_modules/@noodle-borg/agent-kit/dist/skill-router.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +2 -0
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +1 -0
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts +2 -0
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.js +16 -0
- package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +3 -0
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +1 -0
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/config-value-projection.d.ts +58 -0
- package/node_modules/@noodle-borg/service/dist/config-value-projection.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/config-value-projection.js +40 -0
- package/node_modules/@noodle-borg/service/dist/config-value-projection.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/authorization-initiation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/authorization-initiation.js +4 -0
- package/node_modules/@noodle-borg/service/dist/oauth/authorization-initiation.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js +10 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts +3 -1
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js +2 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/fresh-auth.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/oauth/fresh-auth.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/fresh-auth.js +14 -0
- package/node_modules/@noodle-borg/service/dist/oauth/fresh-auth.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/google.d.ts +3 -2
- package/node_modules/@noodle-borg/service/dist/oauth/google.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/google.js +8 -4
- package/node_modules/@noodle-borg/service/dist/oauth/google.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js +7 -2
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.js +4 -0
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js +36 -12
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +3 -0
- package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store.js +19 -7
- package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js +13 -5
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.js +5 -0
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.js +33 -21
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.d.ts +2 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.js +2 -2
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-human.d.ts +4 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-human.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-human.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-provider-choice.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-provider-choice.js +4 -0
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-provider-choice.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/workos.d.ts +4 -2
- package/node_modules/@noodle-borg/service/dist/oauth/workos.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/workos.js +5 -3
- package/node_modules/@noodle-borg/service/dist/oauth/workos.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-discovery.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-discovery.js +46 -0
- package/node_modules/@noodle-borg/service/dist/routes/auth-discovery.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/config-contracts.d.ts +181 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-contracts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-contracts.js +50 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-contracts.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-dispatch.d.ts +20 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-dispatch.js +37 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-paths.d.ts +12 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-paths.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-paths.js +88 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values-paths.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values.js +218 -0
- package/node_modules/@noodle-borg/service/dist/routes/config-values.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts +2 -3
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +2 -71
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts +2 -9
- package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/paths.js +2 -40
- package/node_modules/@noodle-borg/service/dist/routes/paths.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +15 -13
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/config-values.d.ts +57 -0
- package/node_modules/@noodle-borg/service/dist/store/config-values.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/config-values.js +98 -0
- package/node_modules/@noodle-borg/service/dist/store/config-values.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-config.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-config.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-config.js +22 -3
- package/node_modules/@noodle-borg/service/dist/store/postgres-config.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.js +2 -2
- package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.d.ts +1 -56
- package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.js +1 -84
- package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,9 @@ export interface DeveloperGrantOAuthFlowOptions {
|
|
|
15
15
|
export declare class DeveloperGrantOAuthFlow {
|
|
16
16
|
#private;
|
|
17
17
|
constructor(options: DeveloperGrantOAuthFlowOptions);
|
|
18
|
-
renderSelection(pending: PendingAuthorizationRecord, identity: GoogleIdentity
|
|
18
|
+
renderSelection(pending: PendingAuthorizationRecord, identity: GoogleIdentity & {
|
|
19
|
+
readonly authTime?: number;
|
|
20
|
+
}, res: Response): Promise<void>;
|
|
19
21
|
handleDecision(req: Request, res: Response): Promise<void>;
|
|
20
22
|
}
|
|
21
23
|
export declare function isDeveloperResourceForIssuer(resource: string, issuer: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer-grant-flow.d.ts","sourceRoot":"","sources":["../../src/oauth/developer-grant-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,uBAAuB;;gBAGtB,OAAO,EAAE,8BAA8B;IAI7C,eAAe,CACnB,OAAO,EAAE,0BAA0B,EACnC,QAAQ,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"developer-grant-flow.d.ts","sourceRoot":"","sources":["../../src/oauth/developer-grant-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,uBAAuB;;gBAGtB,OAAO,EAAE,8BAA8B;IAI7C,eAAe,CACnB,OAAO,EAAE,0BAA0B,EACnC,QAAQ,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EACzD,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAkCV,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAmFjE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAQtF"}
|
|
@@ -22,6 +22,7 @@ export class DeveloperGrantOAuthFlow {
|
|
|
22
22
|
ownerSubject: identity.subject,
|
|
23
23
|
ownerEmail: identity.email,
|
|
24
24
|
...storedOAuthOwnerPreferences(identity),
|
|
25
|
+
...(identity.authTime !== undefined ? { authTime: identity.authTime } : {}),
|
|
25
26
|
...(pending.clientState !== undefined ? { clientState: pending.clientState } : {}),
|
|
26
27
|
...(pending.scope !== undefined ? { scope: pending.scope } : {}),
|
|
27
28
|
choices,
|
|
@@ -104,6 +105,7 @@ export class DeveloperGrantOAuthFlow {
|
|
|
104
105
|
...(claims.ownerEmail !== undefined ? { ownerEmail: claims.ownerEmail } : {}),
|
|
105
106
|
...(claims.ownerLocale !== undefined ? { ownerLocale: claims.ownerLocale } : {}),
|
|
106
107
|
...(claims.ownerTimeZone !== undefined ? { ownerTimeZone: claims.ownerTimeZone } : {}),
|
|
108
|
+
...(claims.authTime !== undefined ? { authTime: claims.authTime } : {}),
|
|
107
109
|
...(claims.clientState !== undefined ? { clientState: claims.clientState } : {}),
|
|
108
110
|
...(claims.scope !== undefined ? { scope: claims.scope } : {}),
|
|
109
111
|
developerGrantId: grant.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer-grant-flow.js","sourceRoot":"","sources":["../../src/oauth/developer-grant-flow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAA6B,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5C,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AACtD,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAW/F,MAAM,OAAO,uBAAuB;IACzB,QAAQ,CAAiC;IAElD,YAAY,OAAuC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAmC,EACnC,
|
|
1
|
+
{"version":3,"file":"developer-grant-flow.js","sourceRoot":"","sources":["../../src/oauth/developer-grant-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Internal OAuth transport marker used to survive the SDK's authorization-parameter parser. */
|
|
2
|
+
export declare const FRESH_AUTH_SCOPE = "noodle:fresh-auth";
|
|
3
|
+
export declare function requestsFreshAuthentication(scope: string | undefined): boolean;
|
|
4
|
+
/** Remove the internal marker before consent presentation, authorization-code issue, or token issue. */
|
|
5
|
+
export declare function publicOAuthScope(scope: string | undefined): string | undefined;
|
|
6
|
+
//# sourceMappingURL=fresh-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fresh-auth.d.ts","sourceRoot":"","sources":["../../src/oauth/fresh-auth.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE9E;AAED,wGAAwG;AACxG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG9E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Internal OAuth transport marker used to survive the SDK's authorization-parameter parser. */
|
|
2
|
+
export const FRESH_AUTH_SCOPE = 'noodle:fresh-auth';
|
|
3
|
+
export function requestsFreshAuthentication(scope) {
|
|
4
|
+
return scopeTokens(scope).includes(FRESH_AUTH_SCOPE);
|
|
5
|
+
}
|
|
6
|
+
/** Remove the internal marker before consent presentation, authorization-code issue, or token issue. */
|
|
7
|
+
export function publicOAuthScope(scope) {
|
|
8
|
+
const publicScopes = scopeTokens(scope).filter((value) => value !== FRESH_AUTH_SCOPE);
|
|
9
|
+
return publicScopes.length === 0 ? undefined : publicScopes.join(' ');
|
|
10
|
+
}
|
|
11
|
+
function scopeTokens(scope) {
|
|
12
|
+
return scope?.split(' ').filter((value) => value.length > 0) ?? [];
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=fresh-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fresh-auth.js","sourceRoot":"","sources":["../../src/oauth/fresh-auth.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,UAAU,2BAA2B,CAAC,KAAyB;IACnE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AACvD,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC;IACtF,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,OAAO,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UpstreamAuthorizationOptions } from './upstream-human.js';
|
|
1
2
|
/** A verified upstream human identity from "Sign in with Google". */
|
|
2
3
|
export interface GoogleIdentity {
|
|
3
4
|
readonly subject: string;
|
|
@@ -14,7 +15,7 @@ export interface GoogleIdentity {
|
|
|
14
15
|
*/
|
|
15
16
|
export interface GoogleAuthenticator {
|
|
16
17
|
/** The "Sign in with Google" URL to redirect the user-agent to, carrying our `state` nonce. */
|
|
17
|
-
authorizationUrl(state: string):
|
|
18
|
+
authorizationUrl(state: string, options?: UpstreamAuthorizationOptions): URL;
|
|
18
19
|
/** Exchange Google's authorization `code` for the verified user identity (or throw on failure). */
|
|
19
20
|
exchange(code: string): Promise<GoogleIdentity>;
|
|
20
21
|
}
|
|
@@ -27,7 +28,7 @@ export interface GoogleOAuthConfig {
|
|
|
27
28
|
export declare class GoogleOAuthAuthenticator implements GoogleAuthenticator {
|
|
28
29
|
#private;
|
|
29
30
|
constructor(config: GoogleOAuthConfig);
|
|
30
|
-
authorizationUrl(state: string):
|
|
31
|
+
authorizationUrl(state: string, options?: UpstreamAuthorizationOptions): URL;
|
|
31
32
|
exchange(code: string): Promise<GoogleIdentity>;
|
|
32
33
|
}
|
|
33
34
|
//# sourceMappingURL=google.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/oauth/google.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/oauth/google.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAExE,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,+FAA+F;IAC/F,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,GAAG,CAAC;IAC7E,mGAAmG;IACnG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,oGAAoG;IACpG,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,wBAAyB,YAAW,mBAAmB;;gBAItD,MAAM,EAAE,iBAAiB;IASrC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,GAAG;IAgBtE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAuBtD"}
|
|
@@ -11,15 +11,19 @@ export class GoogleOAuthAuthenticator {
|
|
|
11
11
|
redirectUri: config.redirectUri,
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
-
authorizationUrl(state) {
|
|
15
|
-
|
|
14
|
+
authorizationUrl(state, options) {
|
|
15
|
+
const forceAuthentication = options?.forceAuthentication === true;
|
|
16
|
+
const url = new URL(this.#client.generateAuthUrl({
|
|
16
17
|
scope: ['openid', 'email', 'profile'],
|
|
17
18
|
state,
|
|
18
19
|
access_type: 'online',
|
|
19
20
|
// Force the account chooser so a returning user can pick the identity; also a UX guard against
|
|
20
21
|
// silently reusing a wrong session.
|
|
21
|
-
prompt: 'select_account',
|
|
22
|
-
});
|
|
22
|
+
prompt: forceAuthentication ? 'login' : 'select_account',
|
|
23
|
+
}));
|
|
24
|
+
if (forceAuthentication)
|
|
25
|
+
url.searchParams.set('max_age', '0');
|
|
26
|
+
return url;
|
|
23
27
|
}
|
|
24
28
|
async exchange(code) {
|
|
25
29
|
const { tokens } = await this.#client.getToken(code);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/oauth/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/oauth/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAgC9E,MAAM,OAAO,wBAAwB;IAC1B,OAAO,CAAoB;IAC3B,OAAO,CAAe;IAE/B,YAAY,MAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC;YAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,OAAsC;QACpE,MAAM,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACrC,KAAK;YACL,WAAW,EAAE,QAAQ;YACrB,+FAA+F;YAC/F,oCAAoC;YACpC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;SACzD,CAAC,CACH,CAAC;QACF,IAAI,mBAAmB;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,EAAE,GAAG,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC7B,MAAM,aAAa,GAAG,OAAO,EAAE,cAAc,CAAC;QAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,MAAM,GAAG,OAAuD,CAAC;QACvE,MAAM,WAAW,GAAG,iCAAiC,CAAC;YACpD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,OAAO;YACL,OAAO;YACP,KAAK;YACL,GAAG,WAAW;SACf,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAMpG,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,WAAW,EACZ,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAU1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { customerBridgeAuthorizeFields, customerBridgeCallbackFields, microsoftC
|
|
|
7
7
|
import { DeveloperGrantOAuthFlow } from './developer-grant-flow.js';
|
|
8
8
|
import { DeviceAuthorizationFlow } from './device-flow.js';
|
|
9
9
|
import { completeDeviceAuthorization, issueDeviceTokens } from './device-provider.js';
|
|
10
|
+
import { publicOAuthScope } from './fresh-auth.js';
|
|
10
11
|
import { storedOAuthOwnerPreferences, verifiedIdentityOwnerPreferences, } from './identity-preferences.js';
|
|
11
12
|
import { noodleOAuthMetadata } from './metadata.js';
|
|
12
13
|
import { exchangeMicrosoftAuthorizationCode, isConfiguredMicrosoftBridge, verifyMicrosoftIdToken, } from './microsoft.js';
|
|
@@ -153,6 +154,7 @@ export class NoodleOAuthProvider {
|
|
|
153
154
|
timeZone: record.ownerTimeZone,
|
|
154
155
|
}),
|
|
155
156
|
...(record.scope !== undefined ? { scope: record.scope } : {}),
|
|
157
|
+
...(record.authTime !== undefined ? { authTime: record.authTime } : {}),
|
|
156
158
|
...(record.identityKind !== undefined ? { identityKind: record.identityKind } : {}),
|
|
157
159
|
...(record.identityProvider !== undefined
|
|
158
160
|
? { identityProvider: record.identityProvider }
|
|
@@ -205,6 +207,7 @@ export class NoodleOAuthProvider {
|
|
|
205
207
|
throw new InvalidGrantError('resource does not match the refresh token');
|
|
206
208
|
}
|
|
207
209
|
this.#logRefresh(rotation.status, client.client_id, identity.resource);
|
|
210
|
+
const scope = publicOAuthScope(identity.scope);
|
|
208
211
|
const access_token = await mintOAuthAccessToken({
|
|
209
212
|
signer: this.#config.signer,
|
|
210
213
|
issuer: this.#config.issuer,
|
|
@@ -217,7 +220,8 @@ export class NoodleOAuthProvider {
|
|
|
217
220
|
locale: identity.ownerLocale,
|
|
218
221
|
timeZone: identity.ownerTimeZone,
|
|
219
222
|
}),
|
|
220
|
-
...(
|
|
223
|
+
...(scope !== undefined ? { scope } : {}),
|
|
224
|
+
...(identity.authTime !== undefined ? { authTime: identity.authTime } : {}),
|
|
221
225
|
...(identity.identityKind !== undefined ? { identityKind: identity.identityKind } : {}),
|
|
222
226
|
...(identity.identityProvider !== undefined
|
|
223
227
|
? { identityProvider: identity.identityProvider }
|
|
@@ -233,7 +237,7 @@ export class NoodleOAuthProvider {
|
|
|
233
237
|
token_type: 'bearer',
|
|
234
238
|
expires_in: this.#accessTtl,
|
|
235
239
|
refresh_token: rawRefresh,
|
|
236
|
-
...(
|
|
240
|
+
...(scope !== undefined ? { scope } : {}),
|
|
237
241
|
};
|
|
238
242
|
}
|
|
239
243
|
async verifyAccessToken(token) {
|
|
@@ -359,6 +363,7 @@ export class NoodleOAuthProvider {
|
|
|
359
363
|
...(claims.ownerEmail !== undefined ? { ownerEmail: claims.ownerEmail } : {}),
|
|
360
364
|
...(claims.ownerLocale !== undefined ? { ownerLocale: claims.ownerLocale } : {}),
|
|
361
365
|
...(claims.ownerTimeZone !== undefined ? { ownerTimeZone: claims.ownerTimeZone } : {}),
|
|
366
|
+
...(claims.authTime !== undefined ? { authTime: claims.authTime } : {}),
|
|
362
367
|
...(claims.clientState !== undefined ? { clientState: claims.clientState } : {}),
|
|
363
368
|
...(claims.scope !== undefined ? { scope: claims.scope } : {}),
|
|
364
369
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-postgres-schema.d.ts","sourceRoot":"","sources":["../../src/oauth/store-postgres-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAK/B,oFAAoF;AACpF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,kCAAkC,EAAE,OAAO,GAC1C,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"store-postgres-schema.d.ts","sourceRoot":"","sources":["../../src/oauth/store-postgres-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAK/B,oFAAoF;AACpF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,kCAAkC,EAAE,OAAO,GAC1C,OAAO,CAAC,IAAI,CAAC,CAsIf"}
|
|
@@ -45,6 +45,7 @@ export async function ensureOAuthStoreSchema(pool, enforcePlatformPrincipalSuspe
|
|
|
45
45
|
identity_kind text,
|
|
46
46
|
identity_provider text,
|
|
47
47
|
developer_grant_id text,
|
|
48
|
+
auth_time timestamptz,
|
|
48
49
|
expires_at timestamptz NOT NULL
|
|
49
50
|
)
|
|
50
51
|
`);
|
|
@@ -61,6 +62,7 @@ export async function ensureOAuthStoreSchema(pool, enforcePlatformPrincipalSuspe
|
|
|
61
62
|
identity_kind text,
|
|
62
63
|
identity_provider text,
|
|
63
64
|
developer_grant_id text,
|
|
65
|
+
auth_time timestamptz,
|
|
64
66
|
expires_at timestamptz NOT NULL,
|
|
65
67
|
family_id text,
|
|
66
68
|
rotated_at timestamptz,
|
|
@@ -76,11 +78,13 @@ export async function ensureOAuthStoreSchema(pool, enforcePlatformPrincipalSuspe
|
|
|
76
78
|
await pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS owner_time_zone text');
|
|
77
79
|
await pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS identity_provider text');
|
|
78
80
|
await pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS developer_grant_id text');
|
|
81
|
+
await pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS auth_time timestamptz');
|
|
79
82
|
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS identity_kind text');
|
|
80
83
|
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS owner_locale text');
|
|
81
84
|
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS owner_time_zone text');
|
|
82
85
|
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS identity_provider text');
|
|
83
86
|
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS developer_grant_id text');
|
|
87
|
+
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS auth_time timestamptz');
|
|
84
88
|
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS family_id text');
|
|
85
89
|
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS rotated_at timestamptz');
|
|
86
90
|
await pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS superseded_by text');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-postgres-schema.js","sourceRoot":"","sources":["../../src/oauth/store-postgres-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+CAA+C,EAAE,MAAM,qDAAqD,CAAC;AACtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,+CAA+C,EAAE,MAAM,kCAAkC,CAAC;AAEnG,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAU,EACV,kCAA2C;IAE3C,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;GAOhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC9F,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"store-postgres-schema.js","sourceRoot":"","sources":["../../src/oauth/store-postgres-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+CAA+C,EAAE,MAAM,qDAAqD,CAAC;AACtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,+CAA+C,EAAE,MAAM,kCAAkC,CAAC;AAEnG,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAU,EACV,kCAA2C;IAE3C,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;GAOhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC9F,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;GAkBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;GAmBhB,CAAC,CAAC;IACH,IAAI,kCAAkC,EAAE,CAAC;QACvC,MAAM,+CAA+C,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,CAAC,KAAK,CACd,oHAAoH,CACrH,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,mFAAmF,CACpF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,kFAAkF,CACnF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,qFAAqF,CACtF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,uFAAuF,CACxF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,wFAAwF,CACzF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,sFAAsF,CACvF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;IACjG,MAAM,IAAI,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;IAChG,MAAM,IAAI,CAAC,KAAK,CACd,gFAAgF,CACjF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,kFAAkF,CACnF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,mFAAmF,CACpF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CACd,iFAAiF,CAClF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC7F,MAAM,IAAI,CAAC,KAAK,CACd,kFAAkF,CACnF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;IACjG,MAAM,IAAI,CAAC,KAAK,CACd,mGAAmG,CACpG,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;GAQhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;GAShB,CAAC,CAAC;IACH,MAAM,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,+CAA+C,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-postgres.d.ts","sourceRoot":"","sources":["../../src/oauth/store-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"store-postgres.d.ts","sourceRoot":"","sources":["../../src/oauth/store-postgres.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { deviceBrowserRowToRecord, deviceRowToRecord, } from './device-store-postgres-types.js';
|
|
2
|
+
import { publicOAuthScope } from './fresh-auth.js';
|
|
2
3
|
import { lockAndAssertPlatformRefreshPrincipal } from './platform-principal-postgres.js';
|
|
3
4
|
import { postgresEpochSeconds, postgresTimestampIsLive } from './postgres-time.js';
|
|
4
5
|
import { ensureOAuthStoreSchema } from './store-postgres-schema.js';
|
|
@@ -85,8 +86,9 @@ export class PostgresOAuthStore {
|
|
|
85
86
|
await this.#pool.query(`INSERT INTO oauth_authorization_codes
|
|
86
87
|
(code, client_id, code_challenge, redirect_uri, resource, owner_subject, owner_email,
|
|
87
88
|
owner_locale, owner_time_zone, scope, identity_kind, identity_provider, developer_grant_id,
|
|
88
|
-
expires_at)
|
|
89
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, to_timestamp($14)
|
|
89
|
+
auth_time, expires_at)
|
|
90
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, to_timestamp($14),
|
|
91
|
+
to_timestamp($15))`, [
|
|
90
92
|
record.code,
|
|
91
93
|
record.clientId,
|
|
92
94
|
record.codeChallenge,
|
|
@@ -100,6 +102,7 @@ export class PostgresOAuthStore {
|
|
|
100
102
|
record.identityKind ?? null,
|
|
101
103
|
record.identityProvider ?? null,
|
|
102
104
|
record.developerGrantId ?? null,
|
|
105
|
+
record.authTime ?? null,
|
|
103
106
|
record.expiresAt,
|
|
104
107
|
]);
|
|
105
108
|
}
|
|
@@ -237,8 +240,10 @@ export class PostgresOAuthStore {
|
|
|
237
240
|
async createRefreshToken(record) {
|
|
238
241
|
await this.#pool.query(`INSERT INTO oauth_refresh_tokens
|
|
239
242
|
(token, client_id, owner_subject, owner_email, owner_locale, owner_time_zone, resource,
|
|
240
|
-
scope, identity_kind, identity_provider, developer_grant_id, expires_at,
|
|
241
|
-
|
|
243
|
+
scope, identity_kind, identity_provider, developer_grant_id, auth_time, expires_at,
|
|
244
|
+
family_id)
|
|
245
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, to_timestamp($12),
|
|
246
|
+
to_timestamp($13), $14)`, [
|
|
242
247
|
record.token,
|
|
243
248
|
record.clientId,
|
|
244
249
|
record.ownerSubject,
|
|
@@ -250,6 +255,7 @@ export class PostgresOAuthStore {
|
|
|
250
255
|
record.identityKind ?? null,
|
|
251
256
|
record.identityProvider ?? null,
|
|
252
257
|
record.developerGrantId ?? null,
|
|
258
|
+
record.authTime ?? null,
|
|
253
259
|
record.expiresAt,
|
|
254
260
|
record.familyId ?? null,
|
|
255
261
|
]);
|
|
@@ -331,9 +337,10 @@ export class PostgresOAuthStore {
|
|
|
331
337
|
RETURNING *`, [oldTokenHash, nowSeconds, newTokenHash, clientId, nowSeconds]);
|
|
332
338
|
const won = claimed.rows[0];
|
|
333
339
|
if (won) {
|
|
334
|
-
await this.#
|
|
340
|
+
const sanitized = await this.#sanitizeRefreshRowScope(client, won);
|
|
341
|
+
await this.#insertSuccessor(client, sanitized, newTokenHash, newExpiresAt, clientId);
|
|
335
342
|
await client.query('COMMIT');
|
|
336
|
-
return { status: 'rotated', identity: rowIdentity(
|
|
343
|
+
return { status: 'rotated', identity: rowIdentity(sanitized) };
|
|
337
344
|
}
|
|
338
345
|
// 2) Nothing claimed → classify: unknown / grace / reuse.
|
|
339
346
|
const found = await client.query('SELECT * FROM oauth_refresh_tokens WHERE token = $1 AND client_id = $2', [oldTokenHash, clientId]);
|
|
@@ -344,9 +351,10 @@ export class PostgresOAuthStore {
|
|
|
344
351
|
return { status: 'unknown' };
|
|
345
352
|
}
|
|
346
353
|
if (nowSeconds - postgresEpochSeconds(row.rotated_at) <= graceSeconds) {
|
|
347
|
-
await this.#
|
|
354
|
+
const sanitized = await this.#sanitizeRefreshRowScope(client, row);
|
|
355
|
+
await this.#insertSuccessor(client, sanitized, newTokenHash, newExpiresAt, clientId);
|
|
348
356
|
await client.query('COMMIT');
|
|
349
|
-
return { status: 'grace', identity: rowIdentity(
|
|
357
|
+
return { status: 'grace', identity: rowIdentity(sanitized) };
|
|
350
358
|
}
|
|
351
359
|
if (nowSeconds - postgresEpochSeconds(row.rotated_at) <= recoverySeconds &&
|
|
352
360
|
row.superseded_by !== null) {
|
|
@@ -355,13 +363,14 @@ export class PostgresOAuthStore {
|
|
|
355
363
|
FOR UPDATE`, [row.superseded_by, clientId, nowSeconds]);
|
|
356
364
|
const abandoned = successor.rows[0];
|
|
357
365
|
if (abandoned && sameFamily(row, abandoned)) {
|
|
366
|
+
const sanitized = await this.#sanitizeRefreshRowScope(client, row);
|
|
358
367
|
await client.query('DELETE FROM oauth_refresh_tokens WHERE token = $1', [
|
|
359
368
|
abandoned.token,
|
|
360
369
|
]);
|
|
361
370
|
await client.query('UPDATE oauth_refresh_tokens SET superseded_by = $2 WHERE token = $1', [oldTokenHash, newTokenHash]);
|
|
362
|
-
await this.#insertSuccessor(client,
|
|
371
|
+
await this.#insertSuccessor(client, sanitized, newTokenHash, newExpiresAt, clientId);
|
|
363
372
|
await client.query('COMMIT');
|
|
364
|
-
return { status: 'recovered', identity: rowIdentity(
|
|
373
|
+
return { status: 'recovered', identity: rowIdentity(sanitized) };
|
|
365
374
|
}
|
|
366
375
|
}
|
|
367
376
|
// Out-of-window reuse → revoke the whole family (or just this token if it predates families).
|
|
@@ -384,11 +393,22 @@ export class PostgresOAuthStore {
|
|
|
384
393
|
client.release();
|
|
385
394
|
}
|
|
386
395
|
}
|
|
396
|
+
async #sanitizeRefreshRowScope(client, old) {
|
|
397
|
+
const scope = publicOAuthScope(old.scope ?? undefined) ?? null;
|
|
398
|
+
if (scope === old.scope)
|
|
399
|
+
return old;
|
|
400
|
+
await client.query('UPDATE oauth_refresh_tokens SET scope = $2 WHERE token = $1', [
|
|
401
|
+
old.token,
|
|
402
|
+
scope,
|
|
403
|
+
]);
|
|
404
|
+
return { ...old, scope };
|
|
405
|
+
}
|
|
387
406
|
async #insertSuccessor(client, old, newTokenHash, newExpiresAt, clientId) {
|
|
388
407
|
await client.query(`INSERT INTO oauth_refresh_tokens
|
|
389
408
|
(token, client_id, owner_subject, owner_email, owner_locale, owner_time_zone, resource,
|
|
390
|
-
scope, identity_kind, identity_provider, developer_grant_id, expires_at,
|
|
391
|
-
|
|
409
|
+
scope, identity_kind, identity_provider, developer_grant_id, auth_time, expires_at,
|
|
410
|
+
family_id)
|
|
411
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, to_timestamp($13), $14)`, [
|
|
392
412
|
newTokenHash,
|
|
393
413
|
clientId,
|
|
394
414
|
old.owner_subject,
|
|
@@ -400,6 +420,7 @@ export class PostgresOAuthStore {
|
|
|
400
420
|
old.identity_kind,
|
|
401
421
|
old.identity_provider,
|
|
402
422
|
old.developer_grant_id,
|
|
423
|
+
old.auth_time,
|
|
403
424
|
newExpiresAt,
|
|
404
425
|
old.family_id,
|
|
405
426
|
]);
|
|
@@ -418,6 +439,7 @@ function refreshRowToRecord(row) {
|
|
|
418
439
|
...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
|
|
419
440
|
...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
|
|
420
441
|
...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
|
|
442
|
+
...(row.auth_time !== null ? { authTime: postgresEpochSeconds(row.auth_time) } : {}),
|
|
421
443
|
expiresAt: postgresEpochSeconds(row.expires_at),
|
|
422
444
|
...(row.family_id !== null ? { familyId: row.family_id } : {}),
|
|
423
445
|
...(row.rotated_at !== null ? { rotatedAt: postgresEpochSeconds(row.rotated_at) } : {}),
|
|
@@ -436,6 +458,7 @@ function rowIdentity(row) {
|
|
|
436
458
|
...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
|
|
437
459
|
...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
|
|
438
460
|
...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
|
|
461
|
+
...(row.auth_time !== null ? { authTime: postgresEpochSeconds(row.auth_time) } : {}),
|
|
439
462
|
};
|
|
440
463
|
}
|
|
441
464
|
function sameFamily(a, b) {
|
|
@@ -458,6 +481,7 @@ function authCodeRowToRecord(row) {
|
|
|
458
481
|
...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
|
|
459
482
|
...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
|
|
460
483
|
...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
|
|
484
|
+
...(row.auth_time !== null ? { authTime: postgresEpochSeconds(row.auth_time) } : {}),
|
|
461
485
|
expiresAt: postgresEpochSeconds(row.expires_at),
|
|
462
486
|
};
|
|
463
487
|
}
|