@seamless-auth/oidc-provider 0.0.0-stage → 0.1.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/CHANGELOG.md +59 -0
- package/LICENSE +201 -0
- package/README.md +273 -2
- package/dist/adapter.d.ts +44 -0
- package/dist/adapter.js +249 -0
- package/dist/adapter.js.map +1 -0
- package/dist/apiClient.d.ts +35 -0
- package/dist/apiClient.js +217 -0
- package/dist/apiClient.js.map +1 -0
- package/dist/authRequirements.d.ts +37 -0
- package/dist/authRequirements.js +58 -0
- package/dist/authRequirements.js.map +1 -0
- package/dist/clientSecrets.d.ts +10 -0
- package/dist/clientSecrets.js +102 -0
- package/dist/clientSecrets.js.map +1 -0
- package/dist/configCache.d.ts +14 -0
- package/dist/configCache.js +45 -0
- package/dist/configCache.js.map +1 -0
- package/dist/createOidcEdge.d.ts +45 -0
- package/dist/createOidcEdge.js +132 -0
- package/dist/createOidcEdge.js.map +1 -0
- package/dist/deviceFlow.d.ts +53 -0
- package/dist/deviceFlow.js +168 -0
- package/dist/deviceFlow.js.map +1 -0
- package/dist/env.d.ts +16 -0
- package/dist/env.js +36 -0
- package/dist/env.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.js +40 -0
- package/dist/errors.js.map +1 -0
- package/dist/firstPartySession.d.ts +21 -0
- package/dist/firstPartySession.js +28 -0
- package/dist/firstPartySession.js.map +1 -0
- package/dist/hostedPages.d.ts +51 -0
- package/dist/hostedPages.js +172 -0
- package/dist/hostedPages.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/interactions.d.ts +17 -0
- package/dist/interactions.js +209 -0
- package/dist/interactions.js.map +1 -0
- package/dist/jwtAccessTokens.d.ts +23 -0
- package/dist/jwtAccessTokens.js +125 -0
- package/dist/jwtAccessTokens.js.map +1 -0
- package/dist/logout.d.ts +22 -0
- package/dist/logout.js +86 -0
- package/dist/logout.js.map +1 -0
- package/dist/originGuard.d.ts +10 -0
- package/dist/originGuard.js +32 -0
- package/dist/originGuard.js.map +1 -0
- package/dist/pkce.d.ts +16 -0
- package/dist/pkce.js +32 -0
- package/dist/pkce.js.map +1 -0
- package/dist/providerConfig.d.ts +50 -0
- package/dist/providerConfig.js +305 -0
- package/dist/providerConfig.js.map +1 -0
- package/dist/rateLimit.d.ts +13 -0
- package/dist/rateLimit.js +36 -0
- package/dist/rateLimit.js.map +1 -0
- package/dist/refreshReuse.d.ts +3 -0
- package/dist/refreshReuse.js +56 -0
- package/dist/refreshReuse.js.map +1 -0
- package/dist/requestContext.d.ts +40 -0
- package/dist/requestContext.js +43 -0
- package/dist/requestContext.js.map +1 -0
- package/dist/resourceServers.d.ts +16 -0
- package/dist/resourceServers.js +59 -0
- package/dist/resourceServers.js.map +1 -0
- package/dist/resumeCookie.d.ts +8 -0
- package/dist/resumeCookie.js +46 -0
- package/dist/resumeCookie.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +36 -0
- package/dist/server.js.map +1 -0
- package/dist/signingKey.d.ts +29 -0
- package/dist/signingKey.js +142 -0
- package/dist/signingKey.js.map +1 -0
- package/dist/startup.d.ts +4 -0
- package/dist/startup.js +19 -0
- package/dist/startup.js.map +1 -0
- package/dist/tokenAudit.d.ts +4 -0
- package/dist/tokenAudit.js +42 -0
- package/dist/tokenAudit.js.map +1 -0
- package/dist/tokenLifetimes.d.ts +31 -0
- package/dist/tokenLifetimes.js +51 -0
- package/dist/tokenLifetimes.js.map +1 -0
- package/dist/ui/assets/index-CydLXRvo.js +18 -0
- package/dist/ui/assets/index-y3LME-Gv.css +1 -0
- package/dist/ui/index.html +15 -0
- package/package.json +115 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--seamless-color-background: #f5f6f8;--seamless-color-surface: #ffffff;--seamless-color-text: #1a1d21;--seamless-color-muted: #4a515b;--seamless-color-primary: #1f4fd1;--seamless-color-on-primary: #ffffff;--seamless-color-border: #c4c9d1;--seamless-color-focus: #1f4fd1;--seamless-font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--seamless-radius: 10px;--seamless-accent: var(--seamless-color-primary);--seamless-accent-contrast: var(--seamless-color-on-primary);--seamless-text: var(--seamless-color-text);--seamless-text-muted: var(--seamless-color-muted);--seamless-surface: var(--seamless-color-surface);--seamless-surface-raised: var(--seamless-color-background);--seamless-border: var(--seamless-color-border);color-scheme:light}@media(prefers-color-scheme:dark){:root:not(:has(#seamless-palette)){--seamless-color-background: #121417;--seamless-color-surface: #1c1f24;--seamless-color-text: #f1f3f5;--seamless-color-muted: #b7bec8;--seamless-color-primary: #8fb0ff;--seamless-color-on-primary: #0b1530;--seamless-color-border: #454c56;--seamless-color-focus: #8fb0ff;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--seamless-color-background);color:var(--seamless-color-text);font-family:var(--seamless-font-family);font-size:1rem;line-height:1.5}.page{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 1rem}.brand{text-align:center}.brand-logo{display:block;max-width:12rem;max-height:3rem;margin:0 auto .5rem;object-fit:contain}.brand-name{margin:0;font-size:1.25rem;font-weight:700}.brand-context{margin:.25rem 0 0;color:var(--seamless-color-muted)}.content{display:flex;justify-content:center;width:100%}.card{width:100%;max-width:28rem;padding:1.5rem;background:var(--seamless-color-surface);border:1px solid var(--seamless-color-border);border-radius:var(--seamless-radius)}h2{margin:0 0 1rem;font-size:1.375rem;line-height:1.3}h2:focus{outline:none}.consent-subtitle{margin:1rem 0 .5rem;font-size:1rem}.consent-scopes{margin:0;padding-left:1.25rem}.consent-warning{margin-top:1rem;color:var(--seamless-color-muted)}.actions{display:flex;gap:.75rem;margin-top:1.5rem}button.primary,button.secondary{min-height:2.75rem;padding:.5rem 1.25rem;border-radius:var(--seamless-radius);font:inherit;font-weight:600;cursor:pointer}button.primary{background:var(--seamless-color-primary);color:var(--seamless-color-on-primary);border:1px solid var(--seamless-color-primary)}button.secondary{background:transparent;color:var(--seamless-color-text);border:1px solid var(--seamless-color-border)}button:disabled{cursor:not-allowed;opacity:.7}:focus-visible{outline:3px solid var(--seamless-color-focus);outline-offset:2px}.status{margin:0;text-align:center}.error{color:var(--seamless-color-text);border-left:4px solid var(--seamless-color-primary);padding-left:.75rem}.step-up-totp{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}.step-up-totp input{min-height:2.75rem;padding:.5rem .75rem;border:1px solid var(--seamless-color-border);border-radius:var(--seamless-radius);background:var(--seamless-color-surface);color:var(--seamless-color-text);font:inherit;letter-spacing:.2em}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.device-code-field{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.device-code-field input{min-height:2.75rem;padding:.5rem .75rem;border:1px solid var(--seamless-color-border);border-radius:var(--seamless-radius);background:var(--seamless-color-background);color:var(--seamless-color-text);font:inherit;font-size:1.25rem;letter-spacing:.15em;text-transform:uppercase}.user-code{font-family:ui-monospace,monospace;letter-spacing:.1em;white-space:nowrap}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<meta name="color-scheme" content="light dark" />
|
|
7
|
+
<!--seamless:head-->
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-CydLXRvo.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-y3LME-Gv.css">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div id="root"></div>
|
|
13
|
+
<noscript>Signing in needs JavaScript. Turn it on and reload this page.</noscript>
|
|
14
|
+
</body>
|
|
15
|
+
</html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,117 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seamless-auth/oidc-provider",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "OpenID Provider service for Seamless Auth, backed by the private Seamless Auth API.",
|
|
5
|
+
"author": "Fells Code, LLC",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"bin": {
|
|
17
|
+
"seamless-oidc-provider": "./dist/server.js"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"README.md",
|
|
22
|
+
"CHANGELOG.md",
|
|
23
|
+
"LICENSE"
|
|
24
|
+
],
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/fells-code/seamless-auth-oidc-provider.git"
|
|
28
|
+
},
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/fells-code/seamless-auth-oidc-provider/issues"
|
|
31
|
+
},
|
|
32
|
+
"homepage": "https://github.com/fells-code/seamless-auth-oidc-provider#readme",
|
|
33
|
+
"keywords": [
|
|
34
|
+
"openid-connect",
|
|
35
|
+
"oidc",
|
|
36
|
+
"oauth2",
|
|
37
|
+
"passkeys",
|
|
38
|
+
"seamless-auth"
|
|
39
|
+
],
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && npm run build:ui",
|
|
42
|
+
"build:ui": "vite build --config ui/vite.config.ts",
|
|
43
|
+
"dev": "tsx watch --env-file .env src/server.ts",
|
|
44
|
+
"start": "node dist/server.js",
|
|
45
|
+
"typecheck": "tsc --noEmit && tsc -p ui/tsconfig.json",
|
|
46
|
+
"lint": "eslint .",
|
|
47
|
+
"format": "prettier --write .",
|
|
48
|
+
"format:check": "prettier --check .",
|
|
49
|
+
"test": "vitest run",
|
|
50
|
+
"test:watch": "vitest",
|
|
51
|
+
"coverage": "vitest run --coverage",
|
|
52
|
+
"check:changeset-bump": "node scripts/check-changeset-bump.mjs",
|
|
53
|
+
"changeset": "changeset",
|
|
54
|
+
"version-packages": "changeset version",
|
|
55
|
+
"release": "npm run build && changeset publish",
|
|
56
|
+
"prepare": "husky"
|
|
57
|
+
},
|
|
58
|
+
"lint-staged": {
|
|
59
|
+
"*.ts": [
|
|
60
|
+
"eslint --fix",
|
|
61
|
+
"prettier --write"
|
|
62
|
+
],
|
|
63
|
+
"*.{json,md,yml,yaml}": [
|
|
64
|
+
"prettier --write"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": ">=22"
|
|
69
|
+
},
|
|
70
|
+
"publishConfig": {
|
|
71
|
+
"access": "public",
|
|
72
|
+
"registry": "https://registry.npmjs.org/",
|
|
73
|
+
"provenance": true
|
|
74
|
+
},
|
|
75
|
+
"dependencies": {
|
|
76
|
+
"@seamless-auth/core": "^0.22.0",
|
|
77
|
+
"@seamless-auth/express": "^0.22.0",
|
|
78
|
+
"@seamless-auth/types": "^0.34.0",
|
|
79
|
+
"cookie-parser": "^1.4.7",
|
|
80
|
+
"express": "^5.3.0",
|
|
81
|
+
"oidc-provider": "~9.13.3",
|
|
82
|
+
"zod": "^4.6.7"
|
|
83
|
+
},
|
|
84
|
+
"devDependencies": {
|
|
85
|
+
"@changesets/cli": "^3.0.3",
|
|
86
|
+
"@commitlint/cli": "^21.2.4",
|
|
87
|
+
"@commitlint/config-conventional": "^21.2.4",
|
|
88
|
+
"@eslint/js": "^10.0.1",
|
|
89
|
+
"@seamless-auth/react": "^0.19.1",
|
|
90
|
+
"@types/cookie-parser": "^1.4.10",
|
|
91
|
+
"@types/express": "^5.0.6",
|
|
92
|
+
"@types/node": "^24.19.2",
|
|
93
|
+
"@types/oidc-provider": "~9.13.1",
|
|
94
|
+
"@types/react": "^19.3.0",
|
|
95
|
+
"@types/react-dom": "^19.3.0",
|
|
96
|
+
"@typescript-eslint/eslint-plugin": "^8.72.1",
|
|
97
|
+
"@typescript-eslint/parser": "^8.72.1",
|
|
98
|
+
"@vitejs/plugin-react": "^5.2.0",
|
|
99
|
+
"@vitest/coverage-v8": "^5.0.5",
|
|
100
|
+
"eslint": "^10.13.0",
|
|
101
|
+
"eslint-config-prettier": "^10.1.8",
|
|
102
|
+
"eslint-plugin-license-header": "^0.9.0",
|
|
103
|
+
"eslint-plugin-simple-import-sort": "^14.0.0",
|
|
104
|
+
"husky": "^9.1.7",
|
|
105
|
+
"lint-staged": "^17.6.0",
|
|
106
|
+
"openid-client": "^6.8.8",
|
|
107
|
+
"prettier": "^3.9.10",
|
|
108
|
+
"react": "^19.3.1",
|
|
109
|
+
"react-dom": "^19.3.1",
|
|
110
|
+
"react-router-dom": "^7.18.5",
|
|
111
|
+
"tsx": "^4.23.15",
|
|
112
|
+
"typescript": "^5.9.3",
|
|
113
|
+
"typescript-eslint": "^8.72.1",
|
|
114
|
+
"vite": "^7.3.7",
|
|
115
|
+
"vitest": "^5.0.5"
|
|
116
|
+
}
|
|
117
|
+
}
|