@tern-secure/nextjs 3.3.3 → 3.3.5

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.
Files changed (173) hide show
  1. package/README.md +33 -33
  2. package/package.json +79 -79
  3. package/dist/cjs/app-router/client/TernSecureProvider.js +0 -33
  4. package/dist/cjs/app-router/client/TernSecureProvider.js.map +0 -1
  5. package/dist/cjs/app-router/client/actions.js +0 -97
  6. package/dist/cjs/app-router/client/actions.js.map +0 -1
  7. package/dist/cjs/app-router/server/auth.js +0 -71
  8. package/dist/cjs/app-router/server/auth.js.map +0 -1
  9. package/dist/cjs/app-router/server/index.js +0 -42
  10. package/dist/cjs/app-router/server/index.js.map +0 -1
  11. package/dist/cjs/app-router/server/sessionTernSecure.js +0 -159
  12. package/dist/cjs/app-router/server/sessionTernSecure.js.map +0 -1
  13. package/dist/cjs/app-router/server/ternSecureMiddleware.js +0 -50
  14. package/dist/cjs/app-router/server/ternSecureMiddleware.js.map +0 -1
  15. package/dist/cjs/boundary/TernSecureClientProvider.js +0 -94
  16. package/dist/cjs/boundary/TernSecureClientProvider.js.map +0 -1
  17. package/dist/cjs/boundary/TernSecureCtx.js +0 -49
  18. package/dist/cjs/boundary/TernSecureCtx.js.map +0 -1
  19. package/dist/cjs/boundary/hooks/useAuth.js +0 -51
  20. package/dist/cjs/boundary/hooks/useAuth.js.map +0 -1
  21. package/dist/cjs/boundary/hooks/useUser.js +0 -44
  22. package/dist/cjs/boundary/hooks/useUser.js.map +0 -1
  23. package/dist/cjs/components/background.js +0 -65
  24. package/dist/cjs/components/background.js.map +0 -1
  25. package/dist/cjs/components/sign-in.js +0 -243
  26. package/dist/cjs/components/sign-in.js.map +0 -1
  27. package/dist/cjs/components/sign-out.js +0 -69
  28. package/dist/cjs/components/sign-out.js.map +0 -1
  29. package/dist/cjs/components/ui/alert.js +0 -88
  30. package/dist/cjs/components/ui/alert.js.map +0 -1
  31. package/dist/cjs/components/ui/button.js +0 -84
  32. package/dist/cjs/components/ui/button.js.map +0 -1
  33. package/dist/cjs/components/ui/card.js +0 -101
  34. package/dist/cjs/components/ui/card.js.map +0 -1
  35. package/dist/cjs/components/ui/input.js +0 -58
  36. package/dist/cjs/components/ui/input.js.map +0 -1
  37. package/dist/cjs/components/ui/label.js +0 -55
  38. package/dist/cjs/components/ui/label.js.map +0 -1
  39. package/dist/cjs/components/ui/separator.js +0 -59
  40. package/dist/cjs/components/ui/separator.js.map +0 -1
  41. package/dist/cjs/errors.js +0 -41
  42. package/dist/cjs/errors.js.map +0 -1
  43. package/dist/cjs/index.js +0 -56
  44. package/dist/cjs/index.js.map +0 -1
  45. package/dist/cjs/lib/utils.d.js +0 -17
  46. package/dist/cjs/lib/utils.d.js.map +0 -1
  47. package/dist/cjs/lib/utils.js +0 -33
  48. package/dist/cjs/lib/utils.js.map +0 -1
  49. package/dist/cjs/types.js +0 -17
  50. package/dist/cjs/types.js.map +0 -1
  51. package/dist/cjs/utils/admin-init.js +0 -57
  52. package/dist/cjs/utils/admin-init.js.map +0 -1
  53. package/dist/cjs/utils/client-init.js +0 -49
  54. package/dist/cjs/utils/client-init.js.map +0 -1
  55. package/dist/cjs/utils/config.js +0 -113
  56. package/dist/cjs/utils/config.js.map +0 -1
  57. package/dist/cjs/utils/construct.js +0 -63
  58. package/dist/cjs/utils/construct.js.map +0 -1
  59. package/dist/cjs/utils/create-styles.js +0 -149
  60. package/dist/cjs/utils/create-styles.js.map +0 -1
  61. package/dist/esm/app-router/client/TernSecureProvider.js +0 -9
  62. package/dist/esm/app-router/client/TernSecureProvider.js.map +0 -1
  63. package/dist/esm/app-router/client/actions.js +0 -70
  64. package/dist/esm/app-router/client/actions.js.map +0 -1
  65. package/dist/esm/app-router/server/auth.js +0 -47
  66. package/dist/esm/app-router/server/auth.js.map +0 -1
  67. package/dist/esm/app-router/server/index.js +0 -13
  68. package/dist/esm/app-router/server/index.js.map +0 -1
  69. package/dist/esm/app-router/server/sessionTernSecure.js +0 -129
  70. package/dist/esm/app-router/server/sessionTernSecure.js.map +0 -1
  71. package/dist/esm/app-router/server/ternSecureMiddleware.js +0 -26
  72. package/dist/esm/app-router/server/ternSecureMiddleware.js.map +0 -1
  73. package/dist/esm/boundary/TernSecureClientProvider.js +0 -70
  74. package/dist/esm/boundary/TernSecureClientProvider.js.map +0 -1
  75. package/dist/esm/boundary/TernSecureCtx.js +0 -23
  76. package/dist/esm/boundary/TernSecureCtx.js.map +0 -1
  77. package/dist/esm/boundary/hooks/useAuth.js +0 -27
  78. package/dist/esm/boundary/hooks/useAuth.js.map +0 -1
  79. package/dist/esm/boundary/hooks/useUser.js +0 -20
  80. package/dist/esm/boundary/hooks/useUser.js.map +0 -1
  81. package/dist/esm/components/background.js +0 -41
  82. package/dist/esm/components/background.js.map +0 -1
  83. package/dist/esm/components/sign-in.js +0 -219
  84. package/dist/esm/components/sign-in.js.map +0 -1
  85. package/dist/esm/components/sign-out.js +0 -45
  86. package/dist/esm/components/sign-out.js.map +0 -1
  87. package/dist/esm/components/ui/alert.js +0 -52
  88. package/dist/esm/components/ui/alert.js.map +0 -1
  89. package/dist/esm/components/ui/button.js +0 -49
  90. package/dist/esm/components/ui/button.js.map +0 -1
  91. package/dist/esm/components/ui/card.js +0 -62
  92. package/dist/esm/components/ui/card.js.map +0 -1
  93. package/dist/esm/components/ui/input.js +0 -24
  94. package/dist/esm/components/ui/input.js.map +0 -1
  95. package/dist/esm/components/ui/label.js +0 -21
  96. package/dist/esm/components/ui/label.js.map +0 -1
  97. package/dist/esm/components/ui/separator.js +0 -25
  98. package/dist/esm/components/ui/separator.js.map +0 -1
  99. package/dist/esm/errors.js +0 -16
  100. package/dist/esm/errors.js.map +0 -1
  101. package/dist/esm/index.js +0 -22
  102. package/dist/esm/index.js.map +0 -1
  103. package/dist/esm/lib/utils.d.js +0 -1
  104. package/dist/esm/lib/utils.d.js.map +0 -1
  105. package/dist/esm/lib/utils.js +0 -9
  106. package/dist/esm/lib/utils.js.map +0 -1
  107. package/dist/esm/types.js +0 -1
  108. package/dist/esm/types.js.map +0 -1
  109. package/dist/esm/utils/admin-init.js +0 -22
  110. package/dist/esm/utils/admin-init.js.map +0 -1
  111. package/dist/esm/utils/client-init.js +0 -22
  112. package/dist/esm/utils/client-init.js.map +0 -1
  113. package/dist/esm/utils/config.js +0 -84
  114. package/dist/esm/utils/config.js.map +0 -1
  115. package/dist/esm/utils/construct.js +0 -37
  116. package/dist/esm/utils/construct.js.map +0 -1
  117. package/dist/esm/utils/create-styles.js +0 -123
  118. package/dist/esm/utils/create-styles.js.map +0 -1
  119. package/dist/types/app-router/client/TernSecureProvider.d.ts +0 -26
  120. package/dist/types/app-router/client/TernSecureProvider.d.ts.map +0 -1
  121. package/dist/types/app-router/client/actions.d.ts +0 -39
  122. package/dist/types/app-router/client/actions.d.ts.map +0 -1
  123. package/dist/types/app-router/server/auth.d.ts +0 -7
  124. package/dist/types/app-router/server/auth.d.ts.map +0 -1
  125. package/dist/types/app-router/server/index.d.ts +0 -5
  126. package/dist/types/app-router/server/index.d.ts.map +0 -1
  127. package/dist/types/app-router/server/sessionTernSecure.d.ts +0 -37
  128. package/dist/types/app-router/server/sessionTernSecure.d.ts.map +0 -1
  129. package/dist/types/app-router/server/ternSecureMiddleware.d.ts +0 -7
  130. package/dist/types/app-router/server/ternSecureMiddleware.d.ts.map +0 -1
  131. package/dist/types/boundary/TernSecureClientProvider.d.ts +0 -11
  132. package/dist/types/boundary/TernSecureClientProvider.d.ts.map +0 -1
  133. package/dist/types/boundary/TernSecureCtx.d.ts +0 -15
  134. package/dist/types/boundary/TernSecureCtx.d.ts.map +0 -1
  135. package/dist/types/boundary/hooks/useAuth.d.ts +0 -11
  136. package/dist/types/boundary/hooks/useAuth.d.ts.map +0 -1
  137. package/dist/types/boundary/hooks/useUser.d.ts +0 -7
  138. package/dist/types/boundary/hooks/useUser.d.ts.map +0 -1
  139. package/dist/types/components/background.d.ts +0 -2
  140. package/dist/types/components/background.d.ts.map +0 -1
  141. package/dist/types/components/sign-in.d.ts +0 -18
  142. package/dist/types/components/sign-in.d.ts.map +0 -1
  143. package/dist/types/components/sign-out.d.ts +0 -10
  144. package/dist/types/components/sign-out.d.ts.map +0 -1
  145. package/dist/types/components/ui/alert.d.ts +0 -9
  146. package/dist/types/components/ui/alert.d.ts.map +0 -1
  147. package/dist/types/components/ui/button.d.ts +0 -12
  148. package/dist/types/components/ui/button.d.ts.map +0 -1
  149. package/dist/types/components/ui/card.d.ts +0 -9
  150. package/dist/types/components/ui/card.d.ts.map +0 -1
  151. package/dist/types/components/ui/input.d.ts +0 -4
  152. package/dist/types/components/ui/input.d.ts.map +0 -1
  153. package/dist/types/components/ui/label.d.ts +0 -6
  154. package/dist/types/components/ui/label.d.ts.map +0 -1
  155. package/dist/types/components/ui/separator.d.ts +0 -5
  156. package/dist/types/components/ui/separator.d.ts.map +0 -1
  157. package/dist/types/errors.d.ts +0 -9
  158. package/dist/types/errors.d.ts.map +0 -1
  159. package/dist/types/index.d.ts.map +0 -1
  160. package/dist/types/lib/utils.d.ts +0 -3
  161. package/dist/types/lib/utils.d.ts.map +0 -1
  162. package/dist/types/types.d.ts +0 -63
  163. package/dist/types/types.d.ts.map +0 -1
  164. package/dist/types/utils/admin-init.d.ts +0 -4
  165. package/dist/types/utils/admin-init.d.ts.map +0 -1
  166. package/dist/types/utils/client-init.d.ts +0 -5
  167. package/dist/types/utils/client-init.d.ts.map +0 -1
  168. package/dist/types/utils/config.d.ts +0 -35
  169. package/dist/types/utils/config.d.ts.map +0 -1
  170. package/dist/types/utils/construct.d.ts +0 -22
  171. package/dist/types/utils/construct.d.ts.map +0 -1
  172. package/dist/types/utils/create-styles.d.ts +0 -99
  173. package/dist/types/utils/create-styles.d.ts.map +0 -1
package/README.md CHANGED
@@ -1,34 +1,34 @@
1
- # @tern-secure/nextjs
2
-
3
- A comprehensive Firebase authentication solution for Next.js applications, providing seamless integration with Firebase Auth, including email/password, Google, and Microsoft authentication methods.
4
-
5
- [![npm version](https://badge.fury.io/js/@tern-secure%2Fnextjs.svg)](https://www.npmjs.com/package/@tern-secure/nextjs)
6
- [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
7
-
8
- ## Features
9
-
10
- - 🔐 Multiple authentication methods:
11
- - Email/Password authentication
12
- - Google OAuth
13
- - Microsoft OAuth
14
- - 🔄 Session management with cookies
15
- - ⚡ Server-side and client-side components
16
- - 🎨 Customizable UI components
17
- - 📦 TypeScript support
18
- - 🚀 Next.js App Router compatible
19
-
20
- ## Installation
21
-
22
- ## Environment Variables
23
-
24
- Required environment variables:
25
- ```
26
- NEXT_PUBLIC_FIREBASE_API_KEY=
27
- NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
28
- NEXT_PUBLIC_FIREBASE_PROJECT_ID=
29
- NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
30
- NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
31
- NEXT_PUBLIC_FIREBASE_APP_ID=
32
- FIREBASE_ADMIN_CLIENT_EMAIL=
33
- FIREBASE_ADMIN_PRIVATE_KEY=
1
+ # @tern-secure/nextjs
2
+
3
+ A comprehensive Firebase authentication solution for Next.js applications, providing seamless integration with Firebase Auth, including email/password, Google, and Microsoft authentication methods.
4
+
5
+ [![npm version](https://badge.fury.io/js/@tern-secure%2Fnextjs.svg)](https://www.npmjs.com/package/@tern-secure/nextjs)
6
+ [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
7
+
8
+ ## Features
9
+
10
+ - 🔐 Multiple authentication methods:
11
+ - Email/Password authentication
12
+ - Google OAuth
13
+ - Microsoft OAuth
14
+ - 🔄 Session management with cookies
15
+ - ⚡ Server-side and client-side components
16
+ - 🎨 Customizable UI components
17
+ - 📦 TypeScript support
18
+ - 🚀 Next.js App Router compatible
19
+
20
+ ## Installation
21
+
22
+ ## Environment Variables
23
+
24
+ Required environment variables:
25
+ ```
26
+ NEXT_PUBLIC_FIREBASE_API_KEY=
27
+ NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
28
+ NEXT_PUBLIC_FIREBASE_PROJECT_ID=
29
+ NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
30
+ NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
31
+ NEXT_PUBLIC_FIREBASE_APP_ID=
32
+ FIREBASE_ADMIN_CLIENT_EMAIL=
33
+ FIREBASE_ADMIN_PRIVATE_KEY=
34
34
  ```
package/package.json CHANGED
@@ -1,79 +1,79 @@
1
- {
2
- "name": "@tern-secure/nextjs",
3
- "version": "3.3.3",
4
- "packageManager": "npm@11.0.0",
5
- "publishConfig": {
6
- "access": "public"
7
- },
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/TernSecure/nextjs.git"
11
- },
12
- "bugs": {
13
- "url": "https://github.com/TernSecure/nextjs/issues"
14
- },
15
- "homepage": "https://github.com/TernSecure/nextjs#readme",
16
- "scripts": {
17
- "clean": "rimraf dist",
18
- "build": "npm run clean && tsup && tsc -p tsconfig.add.json",
19
- "dev": "tsup --watch",
20
- "lint": "eslint src/",
21
- "changeset": "changeset",
22
- "version": "changeset version",
23
- "release": "changeset publish",
24
- "format": "prettier --write \"src/**/*.{ts,tsx}\""
25
- },
26
- "keywords": [],
27
- "author": "",
28
- "license": "ISC",
29
- "description": "",
30
- "devDependencies": {
31
- "@changesets/cli": "^2.27.11",
32
- "@eslint/js": "^9.15.0",
33
- "@types/node": "^22.9.3",
34
- "@types/react": "^18.3.12",
35
- "@typescript-eslint/eslint-plugin": "^8.15.0",
36
- "@typescript-eslint/parser": "^8.15.0",
37
- "eslint": "^9.15.0",
38
- "eslint-plugin-react": "^7.37.2",
39
- "prettier": "^3.3.3",
40
- "rimraf": "^6.0.1",
41
- "tsup": "^8.3.5",
42
- "turbo": "^2.3.3",
43
- "typescript": "^5.7.2"
44
- },
45
- "types": "./dist/types/index.d.ts",
46
- "files": [
47
- "dist"
48
- ],
49
- "sideEffects": false,
50
- "peerDependencies": {
51
- "firebase": "^10.0.0",
52
- "firebase-admin": "^12.5.0",
53
- "next": "^13.0.0 || ^14.0.0 || ^15.0.0",
54
- "react": "^18 || ^19.0.0-0",
55
- "react-dom": "^18 || ^19.0.0-0"
56
- },
57
- "exports": {
58
- ".": {
59
- "types": "./dist/types/index.d.ts",
60
- "import": "./dist/esm/index.js",
61
- "require": "./dist/cjs/index.js"
62
- },
63
- "./server": {
64
- "types": "./dist/types/app-router/server/index.d.ts",
65
- "import": "./dist/esm/app-router/server/index.js",
66
- "require": "./dist/cjs/app-router/server/index.js"
67
- }
68
- },
69
- "dependencies": {
70
- "@radix-ui/react-label": "^2.1.1",
71
- "@radix-ui/react-separator": "^1.1.1",
72
- "@radix-ui/react-slot": "^1.1.1",
73
- "class-variance-authority": "^0.7.1",
74
- "clsx": "^2.1.1",
75
- "lucide-react": "^0.468.0",
76
- "tailwind-merge": "^2.5.5",
77
- "tailwindcss-animate": "^1.0.7"
78
- }
79
- }
1
+ {
2
+ "name": "@tern-secure/nextjs",
3
+ "version": "3.3.5",
4
+ "packageManager": "npm@11.0.0",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/TernSecure/nextjs.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/TernSecure/nextjs/issues"
14
+ },
15
+ "homepage": "https://github.com/TernSecure/nextjs#readme",
16
+ "scripts": {
17
+ "clean": "rimraf dist",
18
+ "build": "npm run clean && tsup && tsc -p tsconfig.add.json",
19
+ "dev": "tsup --watch",
20
+ "lint": "eslint src/",
21
+ "changeset": "changeset",
22
+ "version": "changeset version",
23
+ "release": "changeset publish",
24
+ "format": "prettier --write \"src/**/*.{ts,tsx}\""
25
+ },
26
+ "keywords": [],
27
+ "author": "",
28
+ "license": "ISC",
29
+ "description": "",
30
+ "devDependencies": {
31
+ "@changesets/cli": "^2.27.11",
32
+ "@eslint/js": "^9.15.0",
33
+ "@types/node": "^22.9.3",
34
+ "@types/react": "^18.3.12",
35
+ "@typescript-eslint/eslint-plugin": "^8.15.0",
36
+ "@typescript-eslint/parser": "^8.15.0",
37
+ "eslint": "^9.15.0",
38
+ "eslint-plugin-react": "^7.37.2",
39
+ "prettier": "^3.3.3",
40
+ "rimraf": "^6.0.1",
41
+ "tsup": "^8.3.5",
42
+ "turbo": "^2.3.3",
43
+ "typescript": "^5.7.2"
44
+ },
45
+ "types": "./dist/types/index.d.ts",
46
+ "files": [
47
+ "dist"
48
+ ],
49
+ "sideEffects": false,
50
+ "peerDependencies": {
51
+ "firebase": "^10.0.0",
52
+ "firebase-admin": "^12.5.0",
53
+ "next": "^13.0.0 || ^14.0.0 || ^15.0.0",
54
+ "react": "^18 || ^19.0.0-0",
55
+ "react-dom": "^18 || ^19.0.0-0"
56
+ },
57
+ "exports": {
58
+ ".": {
59
+ "types": "./dist/types/index.d.ts",
60
+ "import": "./dist/esm/index.js",
61
+ "require": "./dist/cjs/index.js"
62
+ },
63
+ "./server": {
64
+ "types": "./dist/types/app-router/server/index.d.ts",
65
+ "import": "./dist/esm/app-router/server/index.js",
66
+ "require": "./dist/cjs/app-router/server/index.js"
67
+ }
68
+ },
69
+ "dependencies": {
70
+ "@radix-ui/react-label": "^2.1.1",
71
+ "@radix-ui/react-separator": "^1.1.1",
72
+ "@radix-ui/react-slot": "^1.1.1",
73
+ "class-variance-authority": "^0.7.1",
74
+ "clsx": "^2.1.1",
75
+ "lucide-react": "^0.468.0",
76
+ "tailwind-merge": "^2.5.5",
77
+ "tailwindcss-animate": "^1.0.7"
78
+ }
79
+ }
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var TernSecureProvider_exports = {};
20
- __export(TernSecureProvider_exports, {
21
- TernSecureProvider: () => TernSecureProvider
22
- });
23
- module.exports = __toCommonJS(TernSecureProvider_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_TernSecureClientProvider = require("../../boundary/TernSecureClientProvider");
26
- async function TernSecureProvider({ children }) {
27
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TernSecureClientProvider.TernSecureClientProvider, { children });
28
- }
29
- // Annotate the CommonJS export names for ESM import in node:
30
- 0 && (module.exports = {
31
- TernSecureProvider
32
- });
33
- //# sourceMappingURL=TernSecureProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/app-router/client/TernSecureProvider.tsx"],"sourcesContent":["import React from \"react\"\r\nimport { TernSecureClientProvider } from \"../../boundary/TernSecureClientProvider\"\r\n\r\n\r\n// Loading fallback component\r\n/*function TernSecureLoadingFallback() {\r\n return (\r\n <div>\r\n <span className=\"sr-only\">Loading...</span>\r\n </div>\r\n )\r\n}*/\r\n/**\r\n * Root Provider for TernSecure\r\n * Use this in your Next.js App Router root layout\r\n * Automatically handles client/server boundary and authentication state\r\n * \r\n * @example\r\n * /// app/layout.tsx\r\n * import { TernSecureProvider } from '@tern/secure'\r\n * \r\n * export default function RootLayout({ children }) {\r\n * return (\r\n * <html>\r\n * <body>\r\n * <TernSecureProvider>\r\n * {children}\r\n * </TernSecureProvider>\r\n * </body>\r\n * </html>\r\n * )\r\n * }\r\n */\r\nexport async function TernSecureProvider({ children }: { children: React.ReactNode }) {\r\n return (\r\n <TernSecureClientProvider>\r\n {children}\r\n </TernSecureClientProvider>\r\n )\r\n}"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCI;AAlCJ,sCAAyC;AAgCzC,eAAsB,mBAAmB,EAAE,SAAS,GAAkC;AACpF,SACE,4CAAC,4DACI,UACL;AAEJ;","names":[]}
@@ -1,97 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var actions_exports = {};
20
- __export(actions_exports, {
21
- handleAuthRedirectResult: () => handleAuthRedirectResult,
22
- signInWithEmail: () => signInWithEmail,
23
- signInWithMicrosoft: () => signInWithMicrosoft,
24
- signInWithRedirectGoogle: () => signInWithRedirectGoogle
25
- });
26
- module.exports = __toCommonJS(actions_exports);
27
- var import_client_init = require("../../utils/client-init");
28
- var import_auth = require("firebase/auth");
29
- var import_sessionTernSecure = require("../server/sessionTernSecure");
30
- async function signInWithEmail(email, password) {
31
- const auth = (0, import_client_init.TernSecureAuth)();
32
- try {
33
- const UserCredential = await (0, import_auth.signInWithEmailAndPassword)(auth, email, password);
34
- const idToken = await UserCredential.user.getIdToken();
35
- const res = await (0, import_sessionTernSecure.createSessionCookie)(idToken);
36
- if (res.success) {
37
- return { success: true, message: "Connected." };
38
- } else {
39
- throw new Error(res.message);
40
- }
41
- } catch (error) {
42
- const errorMessage = error instanceof Error ? error.message : "Failed to sign in";
43
- throw new Error(errorMessage);
44
- }
45
- }
46
- async function signInWithRedirectGoogle() {
47
- const auth = (0, import_client_init.TernSecureAuth)();
48
- const provider = new import_auth.GoogleAuthProvider();
49
- provider.setCustomParameters({
50
- login_hint: "user@example.com",
51
- prompt: "select_account"
52
- });
53
- try {
54
- await (0, import_auth.signInWithRedirect)(auth, provider);
55
- return { success: true, message: "Redirect initiated" };
56
- } catch (error) {
57
- console.error("Error during Google sign-in:", error);
58
- return { success: false, error: "Failed to sign in with Google" };
59
- }
60
- }
61
- async function signInWithMicrosoft() {
62
- const auth = (0, import_client_init.TernSecureAuth)();
63
- const provider = new import_auth.OAuthProvider("microsoft.com");
64
- provider.setCustomParameters({
65
- prompt: "consent"
66
- });
67
- try {
68
- await (0, import_auth.signInWithRedirect)(auth, provider);
69
- return { success: true, message: "Redirect initiated" };
70
- } catch (error) {
71
- console.error("Error during Google sign-in:", error);
72
- return { success: false, error: "Failed to sign in with Google" };
73
- }
74
- }
75
- async function handleAuthRedirectResult() {
76
- const auth = (0, import_client_init.TernSecureAuth)();
77
- try {
78
- const result = await (0, import_auth.getRedirectResult)(auth);
79
- if (result) {
80
- const user = result.user;
81
- return { success: true, user };
82
- } else {
83
- return { success: false, error: "No redirect result" };
84
- }
85
- } catch (error) {
86
- console.error("Error handling auth redirect result:", error);
87
- return { success: false, error: error.message || "Failed to handle auth redirect", code: error.code };
88
- }
89
- }
90
- // Annotate the CommonJS export names for ESM import in node:
91
- 0 && (module.exports = {
92
- handleAuthRedirectResult,
93
- signInWithEmail,
94
- signInWithMicrosoft,
95
- signInWithRedirectGoogle
96
- });
97
- //# sourceMappingURL=actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/app-router/client/actions.ts"],"sourcesContent":["import { TernSecureAuth } from '../../utils/client-init'\r\nimport { signInWithEmailAndPassword, signInWithRedirect, getRedirectResult, GoogleAuthProvider, OAuthProvider } from 'firebase/auth'\r\nimport { createSessionCookie } from '../server/sessionTernSecure'\r\n\r\n\r\nexport async function signInWithEmail(email: string, password: string){\r\n const auth = TernSecureAuth()\r\n try {\r\n const UserCredential = await signInWithEmailAndPassword(auth, email, password)\r\n const idToken = await UserCredential.user.getIdToken();\r\n\r\n const res = await createSessionCookie(idToken);\r\n\r\n if(res.success) {\r\n return { success: true, message: 'Connected.' };\r\n } else {\r\n throw new Error(res.message);\r\n }\r\n} catch (error){\r\n const errorMessage = error instanceof Error ? error.message : 'Failed to sign in';\r\n throw new Error(errorMessage);\r\n}\r\n} \r\n\r\nexport async function signInWithRedirectGoogle() {\r\n const auth = TernSecureAuth()\r\n const provider = new GoogleAuthProvider()\r\n provider.setCustomParameters({\r\n login_hint: 'user@example.com',\r\n prompt: 'select_account'\r\n })\r\n\r\n try {\r\n await signInWithRedirect(auth, provider)\r\n return { success: true, message: 'Redirect initiated' }\r\n } catch (error) {\r\n console.error('Error during Google sign-in:', error)\r\n return { success: false, error: 'Failed to sign in with Google' }\r\n }\r\n}\r\n\r\n\r\nexport async function signInWithMicrosoft() {\r\n const auth = TernSecureAuth()\r\n const provider = new OAuthProvider('microsoft.com')\r\n provider.setCustomParameters({\r\n prompt: 'consent'\r\n })\r\n\r\n try {\r\n await signInWithRedirect(auth, provider)\r\n return { success: true, message: 'Redirect initiated' }\r\n } catch (error) {\r\n console.error('Error during Google sign-in:', error)\r\n return { success: false, error: 'Failed to sign in with Google' }\r\n }\r\n}\r\n\r\n\r\nexport async function handleAuthRedirectResult() {\r\n const auth = TernSecureAuth()\r\n try {\r\n const result = await getRedirectResult(auth)\r\n if (result) {\r\n const user = result.user\r\n return { success: true, user }\r\n } else {\r\n return { success: false, error: 'No redirect result' }\r\n }\r\n } catch (error: any) {\r\n console.error('Error handling auth redirect result:', error)\r\n return { success: false, error: error.message || 'Failed to handle auth redirect', code: error.code }\r\n }\r\n}"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA+B;AAC/B,kBAAqH;AACrH,+BAAoC;AAGpC,eAAsB,gBAAgB,OAAe,UAAiB;AACpE,QAAM,WAAO,mCAAe;AAC5B,MAAI;AACJ,UAAM,iBAAiB,UAAM,wCAA2B,MAAM,OAAO,QAAQ;AAC7E,UAAM,UAAU,MAAM,eAAe,KAAK,WAAW;AAErD,UAAM,MAAM,UAAM,8CAAoB,OAAO;AAE7C,QAAG,IAAI,SAAS;AACd,aAAO,EAAE,SAAS,MAAM,SAAS,aAAa;AAAA,IAChD,OAAO;AACL,YAAM,IAAI,MAAM,IAAI,OAAO;AAAA,IAC7B;AAAA,EACF,SAAS,OAAM;AACb,UAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU;AAC9D,UAAM,IAAI,MAAM,YAAY;AAAA,EAC9B;AACA;AAEA,eAAsB,2BAA2B;AAC/C,QAAM,WAAO,mCAAe;AAC5B,QAAM,WAAW,IAAI,+BAAmB;AACxC,WAAS,oBAAoB;AAAA,IAC3B,YAAY;AAAA,IACZ,QAAQ;AAAA,EACV,CAAC;AAED,MAAI;AACF,cAAM,gCAAmB,MAAM,QAAQ;AACvC,WAAO,EAAE,SAAS,MAAM,SAAS,qBAAqB;AAAA,EACxD,SAAS,OAAO;AACd,YAAQ,MAAM,gCAAgC,KAAK;AACnD,WAAO,EAAE,SAAS,OAAO,OAAO,gCAAgC;AAAA,EAClE;AACF;AAGA,eAAsB,sBAAsB;AAC1C,QAAM,WAAO,mCAAe;AAC5B,QAAM,WAAW,IAAI,0BAAc,eAAe;AAClD,WAAS,oBAAoB;AAAA,IAC3B,QAAQ;AAAA,EACV,CAAC;AAED,MAAI;AACF,cAAM,gCAAmB,MAAM,QAAQ;AACvC,WAAO,EAAE,SAAS,MAAM,SAAS,qBAAqB;AAAA,EACxD,SAAS,OAAO;AACd,YAAQ,MAAM,gCAAgC,KAAK;AACnD,WAAO,EAAE,SAAS,OAAO,OAAO,gCAAgC;AAAA,EAClE;AACF;AAGA,eAAsB,2BAA2B;AAC/C,QAAM,WAAO,mCAAe;AAC5B,MAAI;AACF,UAAM,SAAS,UAAM,+BAAkB,IAAI;AAC3C,QAAI,QAAQ;AACV,YAAM,OAAO,OAAO;AACpB,aAAO,EAAE,SAAS,MAAM,KAAK;AAAA,IAC/B,OAAO;AACL,aAAO,EAAE,SAAS,OAAO,OAAO,qBAAqB;AAAA,IACvD;AAAA,EACF,SAAS,OAAY;AACnB,YAAQ,MAAM,wCAAwC,KAAK;AAC3D,WAAO,EAAE,SAAS,OAAO,OAAO,MAAM,WAAW,kCAAkC,MAAM,MAAM,KAAK;AAAA,EACtG;AACF;","names":[]}
@@ -1,71 +0,0 @@
1
- "use strict";
2
- "use server";
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
- var auth_exports = {};
21
- __export(auth_exports, {
22
- auth: () => auth
23
- });
24
- module.exports = __toCommonJS(auth_exports);
25
- var import_headers = require("next/headers");
26
- var import_sessionTernSecure = require("./sessionTernSecure");
27
- async function auth() {
28
- var _a, _b, _c;
29
- try {
30
- const cookieStore = await (0, import_headers.cookies)();
31
- const sessionCookie = (_a = cookieStore.get("_session_cookie")) == null ? void 0 : _a.value;
32
- if (sessionCookie) {
33
- const sessionResult = await (0, import_sessionTernSecure.verifyTernSessionCookie)(sessionCookie);
34
- if (sessionResult.valid) {
35
- return {
36
- userId: sessionResult.uid,
37
- token: sessionCookie,
38
- error: null
39
- };
40
- }
41
- }
42
- const idToken = (_b = cookieStore.get("_session_token")) == null ? void 0 : _b.value;
43
- if (idToken) {
44
- const tokenResult = await (0, import_sessionTernSecure.verifyTernIdToken)(idToken);
45
- if (tokenResult.valid) {
46
- return {
47
- userId: (_c = tokenResult.uid) != null ? _c : null,
48
- token: idToken,
49
- error: null
50
- };
51
- }
52
- }
53
- return {
54
- userId: null,
55
- token: null,
56
- error: new Error("No valid session or token found")
57
- };
58
- } catch (error) {
59
- console.error("Error in auth function:", error);
60
- return {
61
- userId: null,
62
- token: null,
63
- error: error instanceof Error ? error : new Error("An unknown error occurred")
64
- };
65
- }
66
- }
67
- // Annotate the CommonJS export names for ESM import in node:
68
- 0 && (module.exports = {
69
- auth
70
- });
71
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/app-router/server/auth.ts"],"sourcesContent":["'use server'\r\n\r\nimport { cookies } from 'next/headers';\r\nimport { verifyTernIdToken, verifyTernSessionCookie } from './sessionTernSecure';\r\n\r\nexport interface AuthResult {\r\n userId: string | null;\r\n token: string | null;\r\n error: Error | null;\r\n}\r\n\r\nexport async function auth(): Promise<AuthResult> {\r\n try {\r\n const cookieStore = await cookies();\r\n const sessionCookie = cookieStore.get('_session_cookie')?.value;\r\n if (sessionCookie) {\r\n const sessionResult = await verifyTernSessionCookie(sessionCookie);\r\n if (sessionResult.valid) {\r\n return {\r\n userId: sessionResult.uid,\r\n token: sessionCookie,\r\n error: null\r\n };\r\n }\r\n }\r\n\r\n // If session cookie is not present or invalid, try the ID token\r\n const idToken = cookieStore.get('_session_token')?.value;\r\n if (idToken) {\r\n const tokenResult = await verifyTernIdToken(idToken);\r\n if (tokenResult.valid) {\r\n return {\r\n userId: tokenResult.uid ?? null,\r\n token: idToken,\r\n error: null\r\n };\r\n }\r\n }\r\n\r\n /// If both checks fail, return null values\r\n return {\r\n userId: null,\r\n token: null,\r\n error: new Error('No valid session or token found')\r\n };\r\n } catch (error) {\r\n console.error('Error in auth function:', error);\r\n return {\r\n userId: null,\r\n token: null,\r\n error: error instanceof Error ? error : new Error('An unknown error occurred')\r\n };\r\n }\r\n}\r\n\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,qBAAwB;AACxB,+BAA4D;AAQ5D,eAAsB,OAA4B;AAXlD;AAYE,MAAI;AACF,UAAM,cAAc,UAAM,wBAAQ;AAClC,UAAM,iBAAgB,iBAAY,IAAI,iBAAiB,MAAjC,mBAAoC;AAC1D,QAAI,eAAe;AACjB,YAAM,gBAAgB,UAAM,kDAAwB,aAAa;AACjE,UAAI,cAAc,OAAO;AACvB,eAAO;AAAA,UACL,QAAQ,cAAc;AAAA,UACtB,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAGA,UAAM,WAAU,iBAAY,IAAI,gBAAgB,MAAhC,mBAAmC;AACnD,QAAI,SAAS;AACX,YAAM,cAAc,UAAM,4CAAkB,OAAO;AACnD,UAAI,YAAY,OAAO;AACrB,eAAO;AAAA,UACL,SAAQ,iBAAY,QAAZ,YAAmB;AAAA,UAC3B,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAGA,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO,IAAI,MAAM,iCAAiC;AAAA,IACpD;AAAA,EACF,SAAS,OAAO;AACd,YAAQ,MAAM,2BAA2B,KAAK;AAC9C,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,2BAA2B;AAAA,IAC/E;AAAA,EACF;AACF;","names":[]}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var server_exports = {};
20
- __export(server_exports, {
21
- adminTernSecureAuth: () => import_admin_init.adminTernSecureAuth,
22
- adminTernSecureDb: () => import_admin_init.adminTernSecureDb,
23
- auth: () => import_auth.auth,
24
- createSessionCookie: () => import_sessionTernSecure.createSessionCookie,
25
- ternSecureMiddleware: () => import_ternSecureMiddleware.ternSecureMiddleware,
26
- verifyTernSessionCookie: () => import_sessionTernSecure.verifyTernSessionCookie
27
- });
28
- module.exports = __toCommonJS(server_exports);
29
- var import_admin_init = require("../../utils/admin-init");
30
- var import_ternSecureMiddleware = require("./ternSecureMiddleware");
31
- var import_sessionTernSecure = require("./sessionTernSecure");
32
- var import_auth = require("./auth");
33
- // Annotate the CommonJS export names for ESM import in node:
34
- 0 && (module.exports = {
35
- adminTernSecureAuth,
36
- adminTernSecureDb,
37
- auth,
38
- createSessionCookie,
39
- ternSecureMiddleware,
40
- verifyTernSessionCookie
41
- });
42
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/app-router/server/index.ts"],"sourcesContent":["export { adminTernSecureAuth, adminTernSecureDb } from '../../utils/admin-init'\r\nexport { ternSecureMiddleware } from './ternSecureMiddleware'\r\nexport { verifyTernSessionCookie, createSessionCookie } from './sessionTernSecure'\r\nexport { auth } from './auth'"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuD;AACvD,kCAAqC;AACrC,+BAA6D;AAC7D,kBAAqB;","names":[]}
@@ -1,159 +0,0 @@
1
- "use strict";
2
- "use server";
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
- var sessionTernSecure_exports = {};
21
- __export(sessionTernSecure_exports, {
22
- clearSessionCookie: () => clearSessionCookie,
23
- createSessionCookie: () => createSessionCookie,
24
- getIdToken: () => getIdToken,
25
- getServerSessionCookie: () => getServerSessionCookie,
26
- setServerSession: () => setServerSession,
27
- verifyTernIdToken: () => verifyTernIdToken,
28
- verifyTernSessionCookie: () => verifyTernSessionCookie
29
- });
30
- module.exports = __toCommonJS(sessionTernSecure_exports);
31
- var import_headers = require("next/headers");
32
- var import_admin_init = require("../../utils/admin-init");
33
- async function createSessionCookie(idToken) {
34
- try {
35
- const expiresIn = 60 * 60 * 24 * 5 * 1e3;
36
- const sessionCookie = await import_admin_init.adminTernSecureAuth.createSessionCookie(idToken, { expiresIn });
37
- const cookieStore = await (0, import_headers.cookies)();
38
- cookieStore.set("_session_cookie", sessionCookie, {
39
- maxAge: expiresIn,
40
- httpOnly: true,
41
- secure: process.env.NODE_ENV === "production",
42
- path: "/"
43
- });
44
- return { success: true, message: "Session created" };
45
- } catch (error) {
46
- return { success: false, message: "Failed to create session" };
47
- }
48
- }
49
- async function getServerSessionCookie() {
50
- var _a;
51
- const cookieStore = await (0, import_headers.cookies)();
52
- const sessionCookie = (_a = cookieStore.get("_session_cookie")) == null ? void 0 : _a.value;
53
- if (!sessionCookie) {
54
- throw new Error("No session cookie found");
55
- }
56
- try {
57
- const decondeClaims = await import_admin_init.adminTernSecureAuth.verifySessionCookie(sessionCookie, true);
58
- return {
59
- token: sessionCookie,
60
- userId: decondeClaims.uid
61
- };
62
- } catch (error) {
63
- console.error("Error verifying session:", error);
64
- throw new Error("Invalid Session");
65
- }
66
- }
67
- async function getIdToken() {
68
- var _a;
69
- const cookieStore = await (0, import_headers.cookies)();
70
- const token = (_a = cookieStore.get("_session_token")) == null ? void 0 : _a.value;
71
- if (!token) {
72
- throw new Error("No session cookie found");
73
- }
74
- try {
75
- const decodedClaims = await import_admin_init.adminTernSecureAuth.verifyIdToken(token);
76
- return {
77
- token,
78
- userId: decodedClaims.uid
79
- };
80
- } catch (error) {
81
- console.error("Error verifying session:", error);
82
- throw new Error("Invalid Session");
83
- }
84
- }
85
- async function setServerSession(token) {
86
- const cookieStore = await (0, import_headers.cookies)();
87
- cookieStore.set("_session", token, {
88
- httpOnly: true,
89
- secure: process.env.NODE_ENV === "production",
90
- sameSite: "strict",
91
- maxAge: 60 * 60,
92
- // 1 hour
93
- path: "/"
94
- });
95
- }
96
- async function verifyTernIdToken(token) {
97
- try {
98
- const decodedToken = await import_admin_init.adminTernSecureAuth.verifyIdToken(token, true);
99
- return { valid: true, uid: decodedToken.uid };
100
- } catch (error) {
101
- if (error instanceof Error) {
102
- const firebaseError = error;
103
- if (error.name === "FirebaseAuthError") {
104
- switch (firebaseError.code) {
105
- case "auth/id-token-expired":
106
- return { valid: false, error: "Token has expired" };
107
- case "auth/id-token-revoked":
108
- return { valid: false, error: "Token has been revoked" };
109
- case "auth/user-disabled":
110
- return { valid: false, error: "User account has been disabled" };
111
- default:
112
- return { valid: false, error: "Invalid token" };
113
- }
114
- }
115
- }
116
- return { valid: false, error: "Error verifying token" };
117
- }
118
- }
119
- async function verifyTernSessionCookie(session) {
120
- try {
121
- const res = await import_admin_init.adminTernSecureAuth.verifySessionCookie(session, true);
122
- if (res) {
123
- return { valid: true, uid: res.uid };
124
- } else {
125
- return { valid: false, error: "Invalid session" };
126
- }
127
- } catch (error) {
128
- return { error, valid: false };
129
- }
130
- }
131
- async function clearSessionCookie() {
132
- var _a;
133
- const cookieStore = await (0, import_headers.cookies)();
134
- cookieStore.delete("_session_cookie");
135
- cookieStore.delete("_session_token");
136
- cookieStore.delete("_session");
137
- try {
138
- const sessionCookie = (_a = cookieStore.get("_session_cookie")) == null ? void 0 : _a.value;
139
- if (sessionCookie) {
140
- const decodedClaims = await import_admin_init.adminTernSecureAuth.verifySessionCookie(sessionCookie);
141
- await import_admin_init.adminTernSecureAuth.revokeRefreshTokens(decodedClaims.uid);
142
- }
143
- return { success: true, message: "Session cleared successfully" };
144
- } catch (error) {
145
- console.error("Error clearing session:", error);
146
- return { success: true, message: "Session cookies cleared" };
147
- }
148
- }
149
- // Annotate the CommonJS export names for ESM import in node:
150
- 0 && (module.exports = {
151
- clearSessionCookie,
152
- createSessionCookie,
153
- getIdToken,
154
- getServerSessionCookie,
155
- setServerSession,
156
- verifyTernIdToken,
157
- verifyTernSessionCookie
158
- });
159
- //# sourceMappingURL=sessionTernSecure.js.map