@o3co/create-auth-provider 0.5.3 → 0.6.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3co/create-auth-provider",
3
- "version": "0.5.3",
3
+ "version": "0.6.0",
4
4
  "description": "Scaffold a new o3co/auth.provider project from the standalone template",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^25.1.0",
32
- "vitest": "^4.1.2"
32
+ "vitest": "^4.1.4"
33
33
  },
34
34
  "scripts": {
35
35
  "build": "tsc",
@@ -8,15 +8,17 @@ http {
8
8
  oauth {
9
9
  jwt {
10
10
  issuer = ${?OAUTH_JWT_ISSUER}
11
- # SF-1 (v0.5.1): legacy typ acceptance for the central JWT verifier.
12
- # When true (default), tokens whose `typ` header is absent are
13
- # accepted with a `jwt_verify_legacy_typ` warning so v0.4.x tokens
14
- # keep verifying through the v0.5.x transition window. Flip to false
15
- # in v0.6+ to reject typ-less tokens. Active default per the v0.5.1
16
- # ADR: literal default lives in HOCON (zod has no `.default()`).
17
- # Operators set OAUTH_JWT_LEGACY_TYP_ACCEPT to override (set "false"
18
- # to enforce strict mode early).
19
- legacyTypAccept = true
11
+ # SF-1 / Phase G / S2: legacy typ acceptance for the
12
+ # central JWT verifier. The the default is `false`: tokens whose
13
+ # `typ` header is absent are rejected. Operators with v0.4.x tokens
14
+ # still in circulation can opt back to legacy acceptance with
15
+ # `OAUTH_JWT_LEGACY_TYP_ACCEPT=true` for their own bounded migration
16
+ # window — when set, typ-less tokens verify with a
17
+ # `jwt_verify_legacy_typ` warning. Per the v0.5.1 ADR the literal
18
+ # default lives in HOCON, not the Zod schema — this keeps a single
19
+ # source of truth so the env-var override path and the file default
20
+ # don't drift.
21
+ legacyTypAccept = false
20
22
  legacyTypAccept = ${?OAUTH_JWT_LEGACY_TYP_ACCEPT}
21
23
  signingKey {
22
24
  provider = "local"
@@ -60,24 +62,11 @@ oauth {
60
62
  # store to Redis with old tokens still in circulation. Operators set
61
63
  # OAUTH_REFRESH_TOKEN_UNKNOWN_FAMILY_POLICY for env-var override.
62
64
  # unknownFamilyPolicy = "reject"
63
- # SF-6 (v0.5.1): handling for refresh tokens lacking jti or family_id
64
- # claims when rotation is wired. "reject" (default) is safe. Use
65
- # "accept-with-warning" only during a migration window where v0.4.x
66
- # tokens (issued before claim standardization) are still in circulation;
67
- # that mode skips replay detection for the request and emits an audit
68
- # log. Pair with `unknownFamilyPolicy = "accept"` to avoid immediate
69
- # rejection on the next refresh — see Phase F migration guide.
65
+ # SF-6 / Phase G / M6: refresh tokens lacking jti or
66
+ # family_id claims when rotation is wired are always rejected.
67
+ # The only valid value is "reject"; the `accept-with-warning`
68
+ # migration-window opt-in was removed.
70
69
  # legacyRtPolicy = "reject"
71
- # AS-12 (v0.5.1): v0.5.x default accepts v0.4.x refresh tokens that use
72
- # payload.type = "refresh" or claims.user.id as the subject. Set false
73
- # only after all pre-v0.5 refresh tokens have expired; remaining legacy
74
- # tokens will be rejected with invalid_grant. The strict marker-required
75
- # gate is preserved across both flag values: a typ-less JWT with no
76
- # payload.type is rejected at the refresh-grant gate even when
77
- # oauth.jwt.legacyTypAccept = true (AT-as-RT confusion stays defended).
78
- # Operators set OAUTH_REFRESH_TOKEN_LEGACY_TOKEN_COMPAT for env-var
79
- # override.
80
- # legacyTokenCompat = true
81
70
  }
82
71
  grants {
83
72
  session { enabled = true, enabled = ${?OAUTH_GRANTS_SESSION_ENABLED} }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3co/auth-provider-standalone",
3
- "version": "0.5.3",
3
+ "version": "0.6.0",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "engines": {
@@ -45,7 +45,7 @@
45
45
  "supertest": "^7.1.0",
46
46
  "tsx": "^4.21.0",
47
47
  "typescript": "^5.9.3",
48
- "vitest": "^4.1.2"
48
+ "vitest": "^4.1.4"
49
49
  },
50
50
  "pnpm": {
51
51
  "onlyBuiltDependencies": [
@@ -1,10 +1,10 @@
1
1
  {
2
- "@o3co/auth-provider-core": "0.5.3",
3
- "@o3co/auth-provider-federation-google": "0.5.3",
4
- "@o3co/auth-provider-federation-github": "0.5.3",
5
- "@o3co/auth-provider-oauth": "0.5.3",
6
- "@o3co/auth-provider-oauth-token-exchange": "0.5.3",
7
- "@o3co/auth-provider-session": "0.5.3",
8
- "@o3co/auth-provider-foundation": "0.5.3",
9
- "@o3co/auth-provider-redis": "0.5.3"
2
+ "@o3co/auth-provider-core": "0.6.0",
3
+ "@o3co/auth-provider-federation-google": "0.6.0",
4
+ "@o3co/auth-provider-federation-github": "0.6.0",
5
+ "@o3co/auth-provider-oauth": "0.6.0",
6
+ "@o3co/auth-provider-oauth-token-exchange": "0.6.0",
7
+ "@o3co/auth-provider-session": "0.6.0",
8
+ "@o3co/auth-provider-foundation": "0.6.0",
9
+ "@o3co/auth-provider-redis": "0.6.0"
10
10
  }