@payez/next-mvp 4.1.9 → 4.1.11
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/README.md +792 -792
- package/dist/api-handlers/auth/refresh.js +38 -15
- package/dist/auth/better-auth.js +4 -3
- package/dist/components/account/MobileNavDrawer.js +18 -18
- package/dist/components/account/UserAvatarMenu.js +1 -1
- package/dist/components/admin/AlertSettingsTab.js +40 -40
- package/dist/components/admin/LoggingSettingsTab.js +28 -28
- package/dist/lib/ensure-fresh-access-token.js +42 -8
- package/dist/lib/idp-fetch.js +25 -9
- package/dist/lib/session-store.d.ts +1 -0
- package/dist/lib/session-store.js +12 -8
- package/dist/lib/token-lifecycle.d.ts +2 -0
- package/dist/lib/token-lifecycle.js +21 -3
- package/dist/pages/login/page.js +28 -28
- package/dist/pages/settings/EnhancedSettingsPage.js +17 -17
- package/package.json +893 -893
- package/scripts/dev-broker.ps1 +35 -35
- package/scripts/dev-local.ps1 +45 -45
- package/src/api/auth-handler.ts +548 -548
- package/src/api-handlers/account/change-password.ts +142 -142
- package/src/api-handlers/account/update-phone.ts +79 -79
- package/src/api-handlers/account/verify-email.ts +125 -125
- package/src/api-handlers/account/verify-sms.ts +125 -125
- package/src/api-handlers/admin/analytics.ts +443 -443
- package/src/api-handlers/admin/audit.ts +223 -223
- package/src/api-handlers/admin/index.ts +63 -63
- package/src/api-handlers/admin/redis-sessions.ts +251 -251
- package/src/api-handlers/admin/sessions.ts +318 -318
- package/src/api-handlers/admin/site-logs.ts +365 -365
- package/src/api-handlers/admin/users.ts +242 -242
- package/src/api-handlers/admin/vibe-data.ts +324 -324
- package/src/api-handlers/auth/refresh.ts +705 -682
- package/src/api-handlers/auth/signout.ts +199 -199
- package/src/api-handlers/auth/status.ts +20 -20
- package/src/api-handlers/auth/update-session.ts +110 -110
- package/src/api-handlers/auth/verify-code.ts +112 -112
- package/src/api-handlers/session/refresh-viability.ts +36 -36
- package/src/api-handlers/test/force-expire.ts +60 -60
- package/src/auth/auth-decision.ts +229 -229
- package/src/auth/better-auth.ts +467 -466
- package/src/auth/route-config.ts +219 -219
- package/src/auth/types/auth-types.ts +555 -555
- package/src/auth/types/index.ts +7 -7
- package/src/auth/utils/idp-client.ts +445 -445
- package/src/auth/utils/index.ts +6 -6
- package/src/auth/utils/token-utils.ts +243 -243
- package/src/client/AuthContext.tsx +143 -143
- package/src/client/fetch-with-auth.ts +47 -47
- package/src/components/SessionSync.tsx +138 -138
- package/src/components/SignalRHealthCheck.tsx +131 -131
- package/src/components/account/MobileNavDrawer.tsx +305 -305
- package/src/components/account/UserAvatarMenu.tsx +266 -266
- package/src/components/account/index.ts +13 -13
- package/src/components/admin/AlertSettingsTab.tsx +728 -728
- package/src/components/admin/AnalyticsTab.tsx +703 -703
- package/src/components/admin/DataBrowserTab.tsx +505 -505
- package/src/components/admin/LoggingSettingsTab.tsx +665 -665
- package/src/components/admin/SessionsTab.tsx +414 -414
- package/src/components/admin/StatsTab.tsx +379 -379
- package/src/components/admin/VibeAdminLayout.tsx +187 -187
- package/src/components/admin/index.ts +59 -59
- package/src/components/auth/FederatedAuthSection.tsx +95 -95
- package/src/components/auth/ModeAwareLoginPage.tsx +135 -135
- package/src/components/auth/ModeAwareSignupPage.tsx +267 -267
- package/src/components/auth/TraditionalAuthSection.tsx +99 -99
- package/src/components/recovery/CompleteStep.tsx +36 -36
- package/src/components/recovery/InitiateRecoveryStep.tsx +68 -68
- package/src/components/recovery/SelectMethodStep.tsx +73 -73
- package/src/components/recovery/SetPasswordStep.tsx +97 -97
- package/src/components/recovery/VerifyCodeStep.tsx +90 -90
- package/src/components/reserved/ReservedRecoveryWarning.tsx +160 -160
- package/src/components/reserved/ReservedStatusBox.tsx +118 -118
- package/src/components/ui/BetaBadge.tsx +58 -58
- package/src/components/ui/Footer.tsx +93 -93
- package/src/config/env.ts +57 -57
- package/src/config/logger.ts +62 -62
- package/src/config/vibe-log-transport.ts +264 -264
- package/src/hooks/useAuth.ts +117 -117
- package/src/hooks/useAuthSettings.ts +97 -97
- package/src/hooks/useAvailableProviders.ts +120 -120
- package/src/hooks/usePasswordValidation.ts +127 -127
- package/src/hooks/usePublicAuthSettings.ts +149 -149
- package/src/hooks/useSessionExpiration.ts +101 -101
- package/src/hooks/useViabilitySession.ts +336 -336
- package/src/index.ts +60 -60
- package/src/lib/api-handler.ts +643 -643
- package/src/lib/app-slug.ts +178 -178
- package/src/lib/ensure-fresh-access-token.ts +369 -335
- package/src/lib/geolocation.ts +265 -265
- package/src/lib/idp-fetch.ts +26 -10
- package/src/lib/jwt-decode.ts +82 -82
- package/src/lib/roles.ts +177 -177
- package/src/lib/session-store.ts +4 -1
- package/src/lib/site-logger.ts +245 -245
- package/src/lib/standardized-client-api.ts +901 -901
- package/src/lib/test-aware-get-token.ts +41 -41
- package/src/lib/token-lifecycle.ts +30 -3
- package/src/lib/user-agent-parser.ts +252 -252
- package/src/logging/api/admin-analytics.ts +51 -51
- package/src/logging/api/audit-log.ts +53 -53
- package/src/logging/components/AdminAnalyticsLayout.tsx +49 -49
- package/src/logging/components/AuditLogViewer.tsx +125 -125
- package/src/logging/components/ErrorMetricsCard.tsx +98 -98
- package/src/logging/components/HealthMetricsCard.tsx +70 -70
- package/src/logging/hooks/useAdminAnalytics.ts +22 -22
- package/src/logging/hooks/useAuditLog.ts +24 -24
- package/src/logging/hooks/useErrorMetrics.ts +40 -40
- package/src/logging/hooks/useHealthMetrics.ts +44 -44
- package/src/logging/index.ts +18 -18
- package/src/logging/types/analytics.ts +81 -81
- package/src/logging/types/audit.ts +31 -31
- package/src/logging/types/index.ts +3 -3
- package/src/middleware/create-middleware.ts +663 -663
- package/src/middleware/rbac-check.ts +279 -279
- package/src/middleware/twofa-presets.ts +224 -224
- package/src/pages/admin-login/page.tsx +221 -221
- package/src/pages/admin-page-permissions/PagePermissionsAdminPage.tsx +527 -527
- package/src/pages/admin-page-permissions/index.ts +7 -7
- package/src/pages/admin-roles/RolesAdminPage.tsx +533 -533
- package/src/pages/admin-roles/modals.tsx +469 -469
- package/src/pages/client-admin/ClientSiteAdminPage.tsx +382 -382
- package/src/pages/client-admin/index.ts +33 -33
- package/src/pages/coming-soon/page.tsx +83 -83
- package/src/pages/login/page.tsx +456 -456
- package/src/pages/profile/EnhancedProfilePage.tsx +485 -485
- package/src/pages/profile/index.ts +9 -9
- package/src/pages/profile/page.tsx +166 -166
- package/src/pages/recovery/page.tsx +234 -234
- package/src/pages/roles/MyRolesPage.tsx +211 -211
- package/src/pages/roles/components.tsx +294 -294
- package/src/pages/roles/index.ts +17 -17
- package/src/pages/security/EnhancedSecurityPage.tsx +565 -565
- package/src/pages/security/index.ts +9 -9
- package/src/pages/security/page.tsx +507 -507
- package/src/pages/settings/EnhancedSettingsPage.tsx +642 -642
- package/src/pages/settings/index.ts +9 -9
- package/src/pages/settings/page.tsx +47 -47
- package/src/pages/showcase/ShowcasePage.tsx +532 -532
- package/src/pages/showcase/index.ts +13 -13
- package/src/pages/test-env/EmergencyLogoutPage.tsx +180 -180
- package/src/pages/test-env/JwtInspectPage.tsx +456 -456
- package/src/pages/test-env/RefreshTokenPage.tsx +157 -157
- package/src/pages/test-env/TestEnvPage.tsx +118 -118
- package/src/pages/test-env/index.ts +25 -25
- package/src/pages/verify-code/page.tsx +652 -652
- package/src/routes/account/update-phone.ts +13 -13
- package/src/routes/auth/logout.ts +108 -108
- package/src/routes/auth/nextauth.ts +45 -45
- package/src/routes/auth/settings.ts +75 -75
- package/src/routes/auth/viability.ts +224 -224
- package/src/server/auth-guard.ts +170 -170
- package/src/server/slim-middleware.ts +117 -117
- package/src/server/with-auth.ts +93 -93
- package/src/stores/authStore.ts +1899 -1899
- package/src/templates/instrumentation.ts +41 -41
- package/src/utils/logout.ts +30 -30
- package/src/vibe/client.ts +590 -590
- package/src/vibe/enterprise-auth.ts +208 -208
- package/src/vibe/errors.ts +185 -185
- package/src/vibe/generic.ts +431 -431
- package/src/vibe/hooks/index.ts +367 -367
- package/src/vibe/index.ts +132 -132
- package/src/vibe/sessions.ts +551 -551
- package/src/vibe/types.ts +577 -577
package/scripts/dev-broker.ps1
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# Dev profile: prod-like broker bootstrap via KV-signed client_assertion
|
|
2
|
-
# Usage: powershell -File dev-broker.ps1 -ClientId "my_app" -Port 3000 -AppName "MyApp"
|
|
3
|
-
# This script enables broker mode for PayEz MVP authentication
|
|
4
|
-
#
|
|
5
|
-
# IMPORTANT: Broker mode provides production-like OAuth/OIDC authentication
|
|
6
|
-
|
|
7
|
-
param(
|
|
8
|
-
[string]$ClientId = "2",
|
|
9
|
-
[int]$Port = 3000,
|
|
10
|
-
[string]$AppName = "PayEz MVP"
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
Write-Host "Starting $AppName in BROKER mode..." -ForegroundColor Cyan
|
|
14
|
-
|
|
15
|
-
# Kill any existing process on the specified port
|
|
16
|
-
$connections = Get-NetTCPConnection -LocalPort $Port -ErrorAction SilentlyContinue
|
|
17
|
-
if ($connections) {
|
|
18
|
-
Write-Host "Port $Port is in use. Killing existing process..." -ForegroundColor Yellow
|
|
19
|
-
$connections | ForEach-Object {
|
|
20
|
-
Stop-Process -Id $_.OwningProcess -Force -ErrorAction SilentlyContinue
|
|
21
|
-
}
|
|
22
|
-
Start-Sleep -Milliseconds 500
|
|
23
|
-
Write-Host "Port $Port is now free" -ForegroundColor Green
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
# Set required environment variables for broker mode
|
|
27
|
-
$env:NEXT_CLIENT_ID = "$ClientId"
|
|
28
|
-
$env:USE_BROKER_MODE = "true"
|
|
29
|
-
|
|
30
|
-
Write-Host "Client ID: $ClientId" -ForegroundColor Green
|
|
31
|
-
Write-Host "Broker mode: ENABLED" -ForegroundColor Green
|
|
32
|
-
Write-Host "Starting Next.js dev server on port $Port..." -ForegroundColor Cyan
|
|
33
|
-
|
|
34
|
-
# Use npx directly to avoid npm batch job nesting issues
|
|
35
|
-
npx next dev -p $Port
|
|
1
|
+
# Dev profile: prod-like broker bootstrap via KV-signed client_assertion
|
|
2
|
+
# Usage: powershell -File dev-broker.ps1 -ClientId "my_app" -Port 3000 -AppName "MyApp"
|
|
3
|
+
# This script enables broker mode for PayEz MVP authentication
|
|
4
|
+
#
|
|
5
|
+
# IMPORTANT: Broker mode provides production-like OAuth/OIDC authentication
|
|
6
|
+
|
|
7
|
+
param(
|
|
8
|
+
[string]$ClientId = "2",
|
|
9
|
+
[int]$Port = 3000,
|
|
10
|
+
[string]$AppName = "PayEz MVP"
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
Write-Host "Starting $AppName in BROKER mode..." -ForegroundColor Cyan
|
|
14
|
+
|
|
15
|
+
# Kill any existing process on the specified port
|
|
16
|
+
$connections = Get-NetTCPConnection -LocalPort $Port -ErrorAction SilentlyContinue
|
|
17
|
+
if ($connections) {
|
|
18
|
+
Write-Host "Port $Port is in use. Killing existing process..." -ForegroundColor Yellow
|
|
19
|
+
$connections | ForEach-Object {
|
|
20
|
+
Stop-Process -Id $_.OwningProcess -Force -ErrorAction SilentlyContinue
|
|
21
|
+
}
|
|
22
|
+
Start-Sleep -Milliseconds 500
|
|
23
|
+
Write-Host "Port $Port is now free" -ForegroundColor Green
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
# Set required environment variables for broker mode
|
|
27
|
+
$env:NEXT_CLIENT_ID = "$ClientId"
|
|
28
|
+
$env:USE_BROKER_MODE = "true"
|
|
29
|
+
|
|
30
|
+
Write-Host "Client ID: $ClientId" -ForegroundColor Green
|
|
31
|
+
Write-Host "Broker mode: ENABLED" -ForegroundColor Green
|
|
32
|
+
Write-Host "Starting Next.js dev server on port $Port..." -ForegroundColor Cyan
|
|
33
|
+
|
|
34
|
+
# Use npx directly to avoid npm batch job nesting issues
|
|
35
|
+
npx next dev -p $Port
|
package/scripts/dev-local.ps1
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# Dev profile: local setup for first-time development
|
|
2
|
-
# Usage: powershell -File dev-local.ps1 -Port 3000 -AppName "MyApp"
|
|
3
|
-
# This generates a NEXTAUTH_SECRET and starts the dev server
|
|
4
|
-
#
|
|
5
|
-
# IMPORTANT: For local development without external IDP
|
|
6
|
-
|
|
7
|
-
param(
|
|
8
|
-
[int]$Port = 3000,
|
|
9
|
-
[string]$AppName = "PayEz MVP"
|
|
10
|
-
)
|
|
11
|
-
|
|
12
|
-
Write-Host "Starting $AppName in LOCAL mode..." -ForegroundColor Cyan
|
|
13
|
-
|
|
14
|
-
# Kill any existing process on the specified port
|
|
15
|
-
$connections = Get-NetTCPConnection -LocalPort $Port -ErrorAction SilentlyContinue
|
|
16
|
-
if ($connections) {
|
|
17
|
-
Write-Host "Port $Port is in use. Killing existing process..." -ForegroundColor Yellow
|
|
18
|
-
$connections | ForEach-Object {
|
|
19
|
-
Stop-Process -Id $_.OwningProcess -Force -ErrorAction SilentlyContinue
|
|
20
|
-
}
|
|
21
|
-
Start-Sleep -Milliseconds 500
|
|
22
|
-
Write-Host "Port $Port is now free" -ForegroundColor Green
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
# Generate a 64-byte random secret (base64) - compatible with Windows PowerShell 5.1+
|
|
26
|
-
$bytes = New-Object byte[] 64
|
|
27
|
-
$rng = [System.Security.Cryptography.RandomNumberGenerator]::Create()
|
|
28
|
-
$rng.GetBytes($bytes)
|
|
29
|
-
$rng.Dispose()
|
|
30
|
-
$secret = [Convert]::ToBase64String($bytes)
|
|
31
|
-
|
|
32
|
-
Write-Host "Generated NEXTAUTH_SECRET for local development" -ForegroundColor Green
|
|
33
|
-
Write-Host "Add this to your .env.local file:" -ForegroundColor Yellow
|
|
34
|
-
Write-Host "NEXTAUTH_SECRET=$secret" -ForegroundColor Cyan
|
|
35
|
-
Write-Host ""
|
|
36
|
-
|
|
37
|
-
# Set environment variables for this session
|
|
38
|
-
$env:NEXTAUTH_SECRET = $secret
|
|
39
|
-
$env:PORT = "$Port"
|
|
40
|
-
|
|
41
|
-
Write-Host "Starting Next.js dev server on port $Port..." -ForegroundColor Green
|
|
42
|
-
Write-Host ""
|
|
43
|
-
|
|
44
|
-
# Use npx directly to avoid npm batch job nesting issues
|
|
45
|
-
npx next dev -p $Port
|
|
1
|
+
# Dev profile: local setup for first-time development
|
|
2
|
+
# Usage: powershell -File dev-local.ps1 -Port 3000 -AppName "MyApp"
|
|
3
|
+
# This generates a NEXTAUTH_SECRET and starts the dev server
|
|
4
|
+
#
|
|
5
|
+
# IMPORTANT: For local development without external IDP
|
|
6
|
+
|
|
7
|
+
param(
|
|
8
|
+
[int]$Port = 3000,
|
|
9
|
+
[string]$AppName = "PayEz MVP"
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
Write-Host "Starting $AppName in LOCAL mode..." -ForegroundColor Cyan
|
|
13
|
+
|
|
14
|
+
# Kill any existing process on the specified port
|
|
15
|
+
$connections = Get-NetTCPConnection -LocalPort $Port -ErrorAction SilentlyContinue
|
|
16
|
+
if ($connections) {
|
|
17
|
+
Write-Host "Port $Port is in use. Killing existing process..." -ForegroundColor Yellow
|
|
18
|
+
$connections | ForEach-Object {
|
|
19
|
+
Stop-Process -Id $_.OwningProcess -Force -ErrorAction SilentlyContinue
|
|
20
|
+
}
|
|
21
|
+
Start-Sleep -Milliseconds 500
|
|
22
|
+
Write-Host "Port $Port is now free" -ForegroundColor Green
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
# Generate a 64-byte random secret (base64) - compatible with Windows PowerShell 5.1+
|
|
26
|
+
$bytes = New-Object byte[] 64
|
|
27
|
+
$rng = [System.Security.Cryptography.RandomNumberGenerator]::Create()
|
|
28
|
+
$rng.GetBytes($bytes)
|
|
29
|
+
$rng.Dispose()
|
|
30
|
+
$secret = [Convert]::ToBase64String($bytes)
|
|
31
|
+
|
|
32
|
+
Write-Host "Generated NEXTAUTH_SECRET for local development" -ForegroundColor Green
|
|
33
|
+
Write-Host "Add this to your .env.local file:" -ForegroundColor Yellow
|
|
34
|
+
Write-Host "NEXTAUTH_SECRET=$secret" -ForegroundColor Cyan
|
|
35
|
+
Write-Host ""
|
|
36
|
+
|
|
37
|
+
# Set environment variables for this session
|
|
38
|
+
$env:NEXTAUTH_SECRET = $secret
|
|
39
|
+
$env:PORT = "$Port"
|
|
40
|
+
|
|
41
|
+
Write-Host "Starting Next.js dev server on port $Port..." -ForegroundColor Green
|
|
42
|
+
Write-Host ""
|
|
43
|
+
|
|
44
|
+
# Use npx directly to avoid npm batch job nesting issues
|
|
45
|
+
npx next dev -p $Port
|