@fluojs/passport
Advanced tools
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,iGAAiG;AACjG,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,sFAAsF;AACtF,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAqFD;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,0BAA0B,GAAG,8BAA8B,CAsDtH;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,0BAA0B,GAAG,uBAAuB,EAAE,CAiDnH"} | ||
| {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,iGAAiG;AACjG,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,sFAAsF;AACtF,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAiGD;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,0BAA0B,GAAG,8BAA8B,CAsDtH;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,0BAA0B,GAAG,uBAAuB,EAAE,CAiDnH"} |
+12
-3
@@ -26,2 +26,11 @@ /** Snapshot payload describing passport readiness, health, ownership, and diagnostic details. */ | ||
| } | ||
| function redactSensitiveDiagnosticReason(reason) { | ||
| if (reason === undefined) { | ||
| return undefined; | ||
| } | ||
| if (/(accessToken|api[-_ ]?key|authorization|bearer|cookie|credential|password|passwd|refreshToken|secret|token\s*[:=])/i.test(reason)) { | ||
| return 'Refresh token backing store is unavailable; sensitive diagnostic detail was redacted.'; | ||
| } | ||
| return reason; | ||
| } | ||
| function collectReadinessReasons(input) { | ||
@@ -39,3 +48,3 @@ const reasons = []; | ||
| if (!isRefreshTokenStoreReady(input)) { | ||
| reasons.push(input.refreshTokenStoreReason ?? 'Refresh token backing store is unavailable.'); | ||
| reasons.push(redactSensitiveDiagnosticReason(input.refreshTokenStoreReason) ?? 'Refresh token backing store is unavailable.'); | ||
| } | ||
@@ -95,3 +104,3 @@ return reasons; | ||
| dependencyId: input.refreshTokenDependencyId, | ||
| reason: input.refreshTokenStoreReason, | ||
| reason: redactSensitiveDiagnosticReason(input.refreshTokenStoreReason), | ||
| ready: isRefreshTokenStoreReady(input) | ||
@@ -168,3 +177,3 @@ }, | ||
| componentId, | ||
| cause: input.refreshTokenStoreReason, | ||
| cause: redactSensitiveDiagnosticReason(input.refreshTokenStoreReason), | ||
| dependsOn: input.refreshTokenDependencyId ? [input.refreshTokenDependencyId] : undefined, | ||
@@ -171,0 +180,0 @@ fixHint: 'Restore refresh token backing store readiness, or disable refresh-token strategy for this environment.', |
+3
-3
@@ -12,3 +12,3 @@ { | ||
| ], | ||
| "version": "1.0.3", | ||
| "version": "1.0.4", | ||
| "private": false, | ||
@@ -41,6 +41,6 @@ "license": "MIT", | ||
| "@fluojs/di": "^1.0.3", | ||
| "@fluojs/core": "^1.0.3", | ||
| "@fluojs/http": "^1.1.0", | ||
| "@fluojs/jwt": "^1.0.1", | ||
| "@fluojs/runtime": "^1.1.1" | ||
| "@fluojs/runtime": "^1.1.2", | ||
| "@fluojs/core": "^1.0.3" | ||
| }, | ||
@@ -47,0 +47,0 @@ "devDependencies": { |
+2
-2
@@ -238,3 +238,3 @@ # @fluojs/passport | ||
| - `CookieAuthModule`: 내장 cookie-auth preset의 모듈 진입점입니다. | ||
| - `CookieAuthStrategy`, `COOKIE_AUTH_STRATEGY_NAME`, `COOKIE_AUTH_OPTIONS`, `DEFAULT_COOKIE_AUTH_OPTIONS`: Cookie strategy wiring token과 기본값입니다. | ||
| - `CookieAuthStrategy`, `COOKIE_AUTH_STRATEGY_NAME`, `COOKIE_AUTH_OPTIONS`, `DEFAULT_COOKIE_AUTH_OPTIONS`, `DEFAULT_COOKIE_OPTIONS`: Cookie strategy wiring token, preset 기본값, response-cookie 기본값입니다. | ||
| - `CookieAuthOptions`, `CookieAuthPresetConfig`, `CookieManagerConfig`, `CookieOptions`, `SetCookieOptions`: Cookie strategy 및 response cookie 설정 타입입니다. | ||
@@ -267,3 +267,3 @@ - `CookieManager`: HttpOnly access/refresh token cookie를 설정하고 제거하는 유틸리티입니다. | ||
| `UseOptionalAuth`는 scope가 필요 없는 route에서만 credential 누락을 우회합니다. Scoped route에는 여전히 principal이 필요합니다. Passport.js bridge의 `redirect()`는 response를 commit하고 protected handler를 건너뛰며, `pass()`와 Passport action 없이 완료된 strategy는 인증 실패입니다. | ||
| `UseOptionalAuth`는 scope가 필요 없는 route에서만 credential 누락을 우회합니다. Scoped route에는 여전히 principal이 필요합니다. Passport.js bridge의 `redirect()`는 response를 commit하고 protected handler를 건너뛰며, `pass()`와 Passport action 없이 완료된 strategy는 인증 실패입니다. Refresh-token backing store status 및 diagnostic surface는 readiness, health, details, diagnostic cause를 노출하기 전에 secret처럼 보이는 reason 문자열을 redact합니다. | ||
@@ -270,0 +270,0 @@ ## 관련 패키지 |
+2
-2
@@ -238,3 +238,3 @@ # @fluojs/passport | ||
| - `CookieAuthModule`: Module entry point for the built-in cookie-auth preset. | ||
| - `CookieAuthStrategy`, `COOKIE_AUTH_STRATEGY_NAME`, `COOKIE_AUTH_OPTIONS`, `DEFAULT_COOKIE_AUTH_OPTIONS`: Cookie strategy wiring tokens and defaults. | ||
| - `CookieAuthStrategy`, `COOKIE_AUTH_STRATEGY_NAME`, `COOKIE_AUTH_OPTIONS`, `DEFAULT_COOKIE_AUTH_OPTIONS`, `DEFAULT_COOKIE_OPTIONS`: Cookie strategy wiring tokens, preset defaults, and response-cookie defaults. | ||
| - `CookieAuthOptions`, `CookieAuthPresetConfig`, `CookieManagerConfig`, `CookieOptions`, `SetCookieOptions`: Cookie strategy and response cookie configuration types. | ||
@@ -267,3 +267,3 @@ - `CookieManager`: Utility for setting and clearing HttpOnly access/refresh token cookies. | ||
| `UseOptionalAuth` only bypasses missing credentials when no scopes are required; scoped routes still need a principal. Passport.js bridge `redirect()` commits the response and skips the protected handler, while `pass()` and strategy completion without a Passport action are authentication failures. | ||
| `UseOptionalAuth` only bypasses missing credentials when no scopes are required; scoped routes still need a principal. Passport.js bridge `redirect()` commits the response and skips the protected handler, while `pass()` and strategy completion without a Passport action are authentication failures. Refresh-token backing store status and diagnostic surfaces redact secret-like reason strings before exposing readiness, health, details, or diagnostic causes. | ||
@@ -270,0 +270,0 @@ ## Related Packages |
155627
0.6%2558
0.35%Updated