@aura-stack/auth 0.1.0-rc.8 → 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.
Files changed (116) hide show
  1. package/dist/@types/index.cjs +15 -15
  2. package/dist/@types/index.d.ts +7 -31
  3. package/dist/@types/index.js +1 -1
  4. package/dist/@types/router.d.cjs +1 -1
  5. package/dist/@types/router.d.d.ts +7 -7
  6. package/dist/@types/utility.cjs +15 -15
  7. package/dist/@types/utility.d.ts +6 -6
  8. package/dist/@types/utility.js +1 -1
  9. package/dist/actions/callback/access-token.cjs +143 -143
  10. package/dist/actions/callback/access-token.d.ts +15 -20
  11. package/dist/actions/callback/access-token.js +8 -4
  12. package/dist/actions/callback/callback.cjs +437 -455
  13. package/dist/actions/callback/callback.d.ts +10 -12
  14. package/dist/actions/callback/callback.js +16 -12
  15. package/dist/actions/callback/userinfo.cjs +131 -134
  16. package/dist/actions/callback/userinfo.d.ts +9 -9
  17. package/dist/actions/callback/userinfo.js +10 -6
  18. package/dist/actions/csrfToken/csrfToken.cjs +162 -171
  19. package/dist/actions/csrfToken/csrfToken.d.ts +3 -3
  20. package/dist/actions/csrfToken/csrfToken.js +12 -8
  21. package/dist/actions/index.cjs +746 -773
  22. package/dist/actions/index.d.ts +13 -13
  23. package/dist/actions/index.js +34 -18
  24. package/dist/actions/session/session.cjs +149 -155
  25. package/dist/actions/session/session.d.ts +3 -3
  26. package/dist/actions/session/session.js +11 -7
  27. package/dist/actions/signIn/authorization.cjs +231 -249
  28. package/dist/actions/signIn/authorization.d.ts +12 -18
  29. package/dist/actions/signIn/authorization.js +16 -6
  30. package/dist/actions/signIn/signIn.cjs +396 -423
  31. package/dist/actions/signIn/signIn.d.ts +10 -10
  32. package/dist/actions/signIn/signIn.js +14 -10
  33. package/dist/actions/signOut/signOut.cjs +417 -440
  34. package/dist/actions/signOut/signOut.d.ts +3 -3
  35. package/dist/actions/signOut/signOut.js +15 -11
  36. package/dist/assert.cjs +35 -36
  37. package/dist/assert.d.ts +4 -4
  38. package/dist/assert.js +10 -2
  39. package/dist/chunk-256KIVJL.js +85 -96
  40. package/dist/chunk-42XB3YCW.js +19 -17
  41. package/dist/chunk-6SM22VVJ.js +13 -10
  42. package/dist/chunk-CAKJT3KS.js +84 -69
  43. package/dist/chunk-E3OXBRYF.js +19 -17
  44. package/dist/chunk-EBPE35JT.js +28 -26
  45. package/dist/chunk-FIPU4MLT.js +18 -16
  46. package/dist/chunk-FJUDBLCP.js +50 -43
  47. package/dist/chunk-FKRDCWBF.js +19 -17
  48. package/dist/chunk-GZU3RBTB.js +51 -40
  49. package/dist/chunk-HGJ4TXY4.js +132 -100
  50. package/dist/chunk-HMRKN75I.js +63 -63
  51. package/dist/chunk-IKHPGFCW.js +11 -9
  52. package/dist/chunk-JAPMIE6S.js +7 -5
  53. package/dist/chunk-KRNOMBXQ.js +19 -17
  54. package/dist/chunk-LLR722CL.js +91 -70
  55. package/dist/chunk-RLT4RFKV.js +39 -30
  56. package/dist/chunk-SJPDVKUS.js +107 -88
  57. package/dist/chunk-SMQO5WD7.js +26 -16
  58. package/dist/chunk-STHEPPUZ.js +8 -6
  59. package/dist/chunk-UJJ7R56J.js +47 -37
  60. package/dist/chunk-UTDLUEEG.js +27 -21
  61. package/dist/chunk-VFTYH33W.js +54 -37
  62. package/dist/chunk-XXJKNKGQ.js +33 -23
  63. package/dist/chunk-ZV4BH47P.js +132 -134
  64. package/dist/cookie.cjs +169 -175
  65. package/dist/cookie.d.ts +23 -51
  66. package/dist/cookie.js +34 -34
  67. package/dist/error.cjs +75 -75
  68. package/dist/error.d.ts +30 -30
  69. package/dist/error.js +15 -8
  70. package/dist/headers.cjs +28 -28
  71. package/dist/headers.d.ts +2 -2
  72. package/dist/headers.js +6 -2
  73. package/dist/index-DpfbvTZ_.d.ts +249 -298
  74. package/dist/index.cjs +936 -969
  75. package/dist/index.d.ts +10 -31
  76. package/dist/index.js +70 -50
  77. package/dist/jose.cjs +61 -64
  78. package/dist/jose.d.ts +8 -8
  79. package/dist/jose.js +9 -5
  80. package/dist/oauth/bitbucket.cjs +38 -38
  81. package/dist/oauth/bitbucket.d.ts +7 -7
  82. package/dist/oauth/bitbucket.js +6 -2
  83. package/dist/oauth/discord.cjs +48 -48
  84. package/dist/oauth/discord.d.ts +7 -7
  85. package/dist/oauth/discord.js +6 -2
  86. package/dist/oauth/figma.cjs +39 -39
  87. package/dist/oauth/figma.d.ts +7 -7
  88. package/dist/oauth/figma.js +6 -2
  89. package/dist/oauth/github.cjs +31 -31
  90. package/dist/oauth/github.d.ts +7 -7
  91. package/dist/oauth/github.js +6 -2
  92. package/dist/oauth/gitlab.cjs +39 -39
  93. package/dist/oauth/gitlab.d.ts +7 -7
  94. package/dist/oauth/gitlab.js +6 -2
  95. package/dist/oauth/index.cjs +180 -180
  96. package/dist/oauth/index.d.ts +7 -26
  97. package/dist/oauth/index.js +36 -9
  98. package/dist/oauth/spotify.cjs +39 -39
  99. package/dist/oauth/spotify.d.ts +7 -7
  100. package/dist/oauth/spotify.js +6 -2
  101. package/dist/oauth/x.cjs +39 -39
  102. package/dist/oauth/x.d.ts +7 -7
  103. package/dist/oauth/x.js +6 -2
  104. package/dist/response.cjs +27 -27
  105. package/dist/response.d.ts +2 -2
  106. package/dist/response.js +6 -2
  107. package/dist/schemas.cjs +91 -91
  108. package/dist/schemas.d.ts +93 -126
  109. package/dist/schemas.js +18 -18
  110. package/dist/secure.cjs +95 -98
  111. package/dist/secure.d.ts +17 -17
  112. package/dist/secure.js +18 -4
  113. package/dist/utils.cjs +119 -132
  114. package/dist/utils.d.ts +11 -26
  115. package/dist/utils.js +21 -21
  116. package/package.json +2 -2
@@ -1,156 +1,154 @@
1
- import { isRequest } from "./chunk-6SM22VVJ.js"
2
- import { AuthError } from "./chunk-FJUDBLCP.js"
1
+ import {
2
+ isRequest
3
+ } from "./chunk-6SM22VVJ.js";
4
+ import {
5
+ AuthError
6
+ } from "./chunk-FJUDBLCP.js";
3
7
 
4
8
  // src/cookie.ts
5
- import { parse, serialize } from "cookie"
6
- import { parse as parse2 } from "cookie"
7
- var COOKIE_NAME = "aura-auth"
9
+ import { parse, serialize } from "cookie";
10
+ import { parse as parse2 } from "cookie";
11
+ var COOKIE_NAME = "aura-auth";
8
12
  var defaultCookieOptions = {
9
- httpOnly: true,
10
- sameSite: "lax",
11
- path: "/",
12
- maxAge: 60 * 60 * 24 * 15,
13
- }
13
+ httpOnly: true,
14
+ sameSite: "lax",
15
+ path: "/",
16
+ maxAge: 60 * 60 * 24 * 15
17
+ };
14
18
  var defaultCookieConfig = {
15
- strategy: "standard",
16
- name: COOKIE_NAME,
17
- options: defaultCookieOptions,
18
- }
19
+ strategy: "standard",
20
+ name: COOKIE_NAME,
21
+ options: defaultCookieOptions
22
+ };
19
23
  var defaultStandardCookieConfig = {
20
- secure: false,
21
- httpOnly: true,
22
- prefix: "",
23
- }
24
+ secure: false,
25
+ httpOnly: true,
26
+ prefix: ""
27
+ };
24
28
  var defaultSecureCookieConfig = {
25
- secure: true,
26
- prefix: "__Secure-",
27
- }
29
+ secure: true,
30
+ prefix: "__Secure-"
31
+ };
28
32
  var defaultHostCookieConfig = {
29
- secure: true,
30
- prefix: "__Host-",
31
- path: "/",
32
- domain: void 0,
33
- }
33
+ secure: true,
34
+ prefix: "__Host-",
35
+ path: "/",
36
+ domain: void 0
37
+ };
34
38
  var expiredCookieOptions = {
35
- ...defaultCookieOptions,
36
- expires: /* @__PURE__ */ new Date(0),
37
- maxAge: 0,
38
- }
39
+ ...defaultCookieOptions,
40
+ expires: /* @__PURE__ */ new Date(0),
41
+ maxAge: 0
42
+ };
39
43
  var defineDefaultCookieOptions = (options) => {
40
- return {
41
- name: options?.name ?? COOKIE_NAME,
42
- prefix: options?.prefix ?? (options?.secure ? "__Secure-" : ""),
43
- ...defaultCookieOptions,
44
- ...options,
45
- }
46
- }
44
+ return {
45
+ name: options?.name ?? COOKIE_NAME,
46
+ prefix: options?.prefix ?? (options?.secure ? "__Secure-" : ""),
47
+ ...defaultCookieOptions,
48
+ ...options
49
+ };
50
+ };
47
51
  var setCookie = (cookieName, value, options) => {
48
- const { prefix, name } = defineDefaultCookieOptions(options)
49
- const cookieNameWithPrefix = `${prefix}${name}.${cookieName}`
50
- return serialize(cookieNameWithPrefix, value, {
51
- ...defaultCookieOptions,
52
- ...options,
53
- })
54
- }
52
+ const { prefix, name } = defineDefaultCookieOptions(options);
53
+ const cookieNameWithPrefix = `${prefix}${name}.${cookieName}`;
54
+ return serialize(cookieNameWithPrefix, value, {
55
+ ...defaultCookieOptions,
56
+ ...options
57
+ });
58
+ };
55
59
  var getCookie = (petition, cookie, options, optional = false) => {
56
- const cookies = isRequest(petition) ? petition.headers.get("Cookie") : petition.headers.getSetCookie().join("; ")
57
- if (!cookies) {
58
- if (optional) {
59
- return ""
60
- }
61
- throw new AuthError("invalid_request", "No cookies found. There is no active session")
60
+ const cookies = isRequest(petition) ? petition.headers.get("Cookie") : petition.headers.getSetCookie().join("; ");
61
+ if (!cookies) {
62
+ if (optional) {
63
+ return "";
62
64
  }
63
- const { name, prefix } = defineDefaultCookieOptions(options)
64
- const parsedCookies = parse(cookies)
65
- const value = parsedCookies[`${prefix}${name}.${cookie}`]
66
- if (value === void 0) {
67
- if (optional) {
68
- return ""
69
- }
70
- throw new AuthError("invalid_request", `Cookie "${cookie}" not found. There is no active session`)
65
+ throw new AuthError("invalid_request", "No cookies found. There is no active session");
66
+ }
67
+ const { name, prefix } = defineDefaultCookieOptions(options);
68
+ const parsedCookies = parse(cookies);
69
+ const value = parsedCookies[`${prefix}${name}.${cookie}`];
70
+ if (value === void 0) {
71
+ if (optional) {
72
+ return "";
71
73
  }
72
- return value
73
- }
74
+ throw new AuthError("invalid_request", `Cookie "${cookie}" not found. There is no active session`);
75
+ }
76
+ return value;
77
+ };
74
78
  var createSessionCookie = async (session, cookieOptions, jose) => {
75
- try {
76
- const encoded = await jose.encodeJWT(session)
77
- return setCookie("sessionToken", encoded, cookieOptions)
78
- } catch (error) {
79
- throw new AuthError("server_error", "Failed to create session cookie", { cause: error })
80
- }
81
- }
79
+ try {
80
+ const encoded = await jose.encodeJWT(session);
81
+ return setCookie("sessionToken", encoded, cookieOptions);
82
+ } catch (error) {
83
+ throw new AuthError("server_error", "Failed to create session cookie", { cause: error });
84
+ }
85
+ };
82
86
  var secureCookieOptions = (request, cookieOptions, trustedProxyHeaders) => {
83
- const name = cookieOptions.name ?? COOKIE_NAME
84
- const isSecure = trustedProxyHeaders
85
- ? request.url.startsWith("https://") ||
86
- request.headers.get("X-Forwarded-Proto") === "https" ||
87
- request.headers.get("Forwarded")?.includes("proto=https")
88
- : request.url.startsWith("https://")
89
- if (!cookieOptions.options?.httpOnly) {
90
- console.warn(
91
- "[WARNING]: Cookie is configured without HttpOnly. This allows JavaScript access via document.cookie and increases XSS risk."
92
- )
87
+ const name = cookieOptions.name ?? COOKIE_NAME;
88
+ const isSecure = trustedProxyHeaders ? request.url.startsWith("https://") || request.headers.get("X-Forwarded-Proto") === "https" || request.headers.get("Forwarded")?.includes("proto=https") : request.url.startsWith("https://");
89
+ if (!cookieOptions.options?.httpOnly) {
90
+ console.warn(
91
+ "[WARNING]: Cookie is configured without HttpOnly. This allows JavaScript access via document.cookie and increases XSS risk."
92
+ );
93
+ }
94
+ if (cookieOptions.options?.domain === "*") {
95
+ console.warn("[WARNING]: Cookie 'Domain' is set to '*', which is insecure. Avoid wildcard domains.");
96
+ }
97
+ if (!isSecure) {
98
+ const options = cookieOptions.options;
99
+ if (options?.secure) {
100
+ console.warn(
101
+ "[WARNING]: The 'Secure' attribute will be disabled for this cookie. Serve over HTTPS to enforce Secure cookies."
102
+ );
93
103
  }
94
- if (cookieOptions.options?.domain === "*") {
95
- console.warn("[WARNING]: Cookie 'Domain' is set to '*', which is insecure. Avoid wildcard domains.")
104
+ if (options?.sameSite == "none") {
105
+ console.warn("[WARNING]: SameSite=None without a secure connection can be blocked by browsers.");
96
106
  }
97
- if (!isSecure) {
98
- const options = cookieOptions.options
99
- if (options?.secure) {
100
- console.warn(
101
- "[WARNING]: The 'Secure' attribute will be disabled for this cookie. Serve over HTTPS to enforce Secure cookies."
102
- )
103
- }
104
- if (options?.sameSite == "none") {
105
- console.warn("[WARNING]: SameSite=None without a secure connection can be blocked by browsers.")
106
- }
107
- if (process.env.NODE_ENV === "production") {
108
- console.warn("[WARNING]: In production, ensure cookies are served over HTTPS to maintain security.")
109
- }
110
- return {
111
- ...defaultCookieOptions,
112
- ...cookieOptions.options,
113
- sameSite: options?.sameSite === "none" ? "lax" : (options?.sameSite ?? "lax"),
114
- ...defaultStandardCookieConfig,
115
- name,
116
- }
107
+ if (process.env.NODE_ENV === "production") {
108
+ console.warn("[WARNING]: In production, ensure cookies are served over HTTPS to maintain security.");
117
109
  }
118
- return cookieOptions.strategy === "host"
119
- ? {
120
- ...defaultCookieOptions,
121
- ...cookieOptions.options,
122
- ...defaultHostCookieConfig,
123
- name,
124
- }
125
- : { ...defaultCookieOptions, ...cookieOptions.options, ...defaultSecureCookieConfig, name }
126
- }
110
+ return {
111
+ ...defaultCookieOptions,
112
+ ...cookieOptions.options,
113
+ sameSite: options?.sameSite === "none" ? "lax" : options?.sameSite ?? "lax",
114
+ ...defaultStandardCookieConfig,
115
+ name
116
+ };
117
+ }
118
+ return cookieOptions.strategy === "host" ? {
119
+ ...defaultCookieOptions,
120
+ ...cookieOptions.options,
121
+ ...defaultHostCookieConfig,
122
+ name
123
+ } : { ...defaultCookieOptions, ...cookieOptions.options, ...defaultSecureCookieConfig, name };
124
+ };
127
125
  var expireCookie = (name, options) => {
128
- return setCookie(name, "", { ...options, ...expiredCookieOptions })
129
- }
126
+ return setCookie(name, "", { ...options, ...expiredCookieOptions });
127
+ };
130
128
  var oauthCookie = (options) => {
131
- return {
132
- ...options,
133
- secure: options.secure,
134
- httpOnly: options.httpOnly,
135
- maxAge: 5 * 60,
136
- expires: new Date(Date.now() + 5 * 60 * 1e3),
137
- }
138
- }
129
+ return {
130
+ ...options,
131
+ secure: options.secure,
132
+ httpOnly: options.httpOnly,
133
+ maxAge: 5 * 60,
134
+ expires: new Date(Date.now() + 5 * 60 * 1e3)
135
+ };
136
+ };
139
137
 
140
138
  export {
141
- COOKIE_NAME,
142
- defaultCookieOptions,
143
- defaultCookieConfig,
144
- defaultStandardCookieConfig,
145
- defaultSecureCookieConfig,
146
- defaultHostCookieConfig,
147
- expiredCookieOptions,
148
- defineDefaultCookieOptions,
149
- setCookie,
150
- getCookie,
151
- createSessionCookie,
152
- secureCookieOptions,
153
- expireCookie,
154
- oauthCookie,
155
- parse2 as parse,
156
- }
139
+ COOKIE_NAME,
140
+ defaultCookieOptions,
141
+ defaultCookieConfig,
142
+ defaultStandardCookieConfig,
143
+ defaultSecureCookieConfig,
144
+ defaultHostCookieConfig,
145
+ expiredCookieOptions,
146
+ defineDefaultCookieOptions,
147
+ setCookie,
148
+ getCookie,
149
+ createSessionCookie,
150
+ secureCookieOptions,
151
+ expireCookie,
152
+ oauthCookie,
153
+ parse2 as parse
154
+ };