@aura-stack/auth 0.1.0-rc.7 → 0.1.0-rc.9

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