@aura-stack/auth 0.4.0-rc.4 → 0.4.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 (143) hide show
  1. package/dist/@types/index.d.ts +4 -3
  2. package/dist/@types/router.d.cjs +0 -17
  3. package/dist/@types/router.d.d.ts +3 -2
  4. package/dist/@types/router.d.js +0 -1
  5. package/dist/actions/callback/access-token.cjs +40 -25
  6. package/dist/actions/callback/access-token.d.ts +4 -3
  7. package/dist/actions/callback/access-token.js +3 -4
  8. package/dist/actions/callback/callback.cjs +287 -77
  9. package/dist/actions/callback/callback.d.ts +5 -26
  10. package/dist/actions/callback/callback.js +13 -10
  11. package/dist/actions/callback/userinfo.cjs +68 -7
  12. package/dist/actions/callback/userinfo.d.ts +4 -3
  13. package/dist/actions/callback/userinfo.js +8 -6
  14. package/dist/actions/csrfToken/csrfToken.cjs +63 -4
  15. package/dist/actions/csrfToken/csrfToken.d.ts +1 -3
  16. package/dist/actions/csrfToken/csrfToken.js +8 -6
  17. package/dist/actions/index.cjs +400 -175
  18. package/dist/actions/index.d.ts +3 -2
  19. package/dist/actions/index.js +21 -19
  20. package/dist/actions/session/session.cjs +40 -11
  21. package/dist/actions/session/session.d.ts +1 -3
  22. package/dist/actions/session/session.js +4 -4
  23. package/dist/actions/signIn/authorization.cjs +171 -132
  24. package/dist/actions/signIn/authorization.d.ts +21 -11
  25. package/dist/actions/signIn/authorization.js +8 -6
  26. package/dist/actions/signIn/signIn.cjs +220 -113
  27. package/dist/actions/signIn/signIn.d.ts +5 -25
  28. package/dist/actions/signIn/signIn.js +9 -7
  29. package/dist/actions/signOut/signOut.cjs +268 -119
  30. package/dist/actions/signOut/signOut.d.ts +1 -9
  31. package/dist/actions/signOut/signOut.js +10 -8
  32. package/dist/assert.cjs +117 -5
  33. package/dist/assert.d.ts +22 -3
  34. package/dist/assert.js +17 -3
  35. package/dist/chunk-4EKY7655.js +123 -0
  36. package/dist/chunk-4MYWAOLG.js +31 -0
  37. package/dist/chunk-4YHJ4IEQ.js +25 -0
  38. package/dist/chunk-54CZPKR4.js +25 -0
  39. package/dist/chunk-5LZ7TOM3.js +25 -0
  40. package/dist/{chunk-W6LG7BFW.js → chunk-5W4BRQYG.js} +24 -20
  41. package/dist/chunk-6MXFPFR3.js +143 -0
  42. package/dist/{chunk-3EUWD5BB.js → chunk-7QF22LHP.js} +13 -9
  43. package/dist/chunk-ALG3GIV4.js +95 -0
  44. package/dist/chunk-E6G5YCI6.js +25 -0
  45. package/dist/chunk-EBAMFRB7.js +34 -0
  46. package/dist/chunk-EEE7UM5T.js +25 -0
  47. package/dist/{chunk-TLE4PXY3.js → chunk-FRJFWTOY.js} +38 -7
  48. package/dist/chunk-FW4W3REU.js +25 -0
  49. package/dist/{chunk-HT4YLL7N.js → chunk-ICAZ4OVS.js} +10 -8
  50. package/dist/chunk-IPKO6UQN.js +25 -0
  51. package/dist/{chunk-YRCB5FLE.js → chunk-KJBAQZX2.js} +13 -0
  52. package/dist/chunk-KMMAZFSJ.js +25 -0
  53. package/dist/chunk-LDU7A2JE.js +25 -0
  54. package/dist/{chunk-N2APGLXA.js → chunk-NUDITUKX.js} +18 -16
  55. package/dist/chunk-OVHNRULD.js +33 -0
  56. package/dist/{chunk-JVFTCTTE.js → chunk-PHFH2MGS.js} +12 -9
  57. package/dist/chunk-QQVSRXGX.js +149 -0
  58. package/dist/chunk-TM5IPSNF.js +113 -0
  59. package/dist/{chunk-GA2SMTJO.js → chunk-TZB6MUXN.js} +33 -13
  60. package/dist/chunk-VNCNJKS2.js +267 -0
  61. package/dist/{chunk-IVET23KF.js → chunk-XGLBNXL4.js} +31 -14
  62. package/dist/chunk-XUP6KKNG.js +106 -0
  63. package/dist/cookie.cjs +24 -20
  64. package/dist/cookie.d.ts +4 -3
  65. package/dist/cookie.js +1 -1
  66. package/dist/env.cjs +56 -0
  67. package/dist/env.d.ts +7 -0
  68. package/dist/env.js +6 -0
  69. package/dist/errors.d.ts +4 -3
  70. package/dist/headers.cjs +28 -2
  71. package/dist/headers.d.ts +25 -1
  72. package/dist/headers.js +9 -3
  73. package/dist/{index-DkaLJFn8.d.ts → index-CSyIJmCM.d.ts} +373 -45
  74. package/dist/index.cjs +1128 -483
  75. package/dist/index.d.ts +6 -10
  76. package/dist/index.js +83 -42
  77. package/dist/jose.cjs +62 -25
  78. package/dist/jose.d.ts +7 -5
  79. package/dist/jose.js +8 -6
  80. package/dist/logger.cjs +292 -0
  81. package/dist/logger.d.ts +8 -0
  82. package/dist/logger.js +8 -0
  83. package/dist/oauth/bitbucket.cjs +19 -15
  84. package/dist/oauth/bitbucket.d.ts +3 -2
  85. package/dist/oauth/bitbucket.js +1 -1
  86. package/dist/oauth/discord.cjs +27 -24
  87. package/dist/oauth/discord.d.ts +3 -2
  88. package/dist/oauth/discord.js +1 -1
  89. package/dist/oauth/figma.cjs +19 -16
  90. package/dist/oauth/figma.d.ts +3 -2
  91. package/dist/oauth/figma.js +1 -1
  92. package/dist/oauth/github.cjs +19 -8
  93. package/dist/oauth/github.d.ts +3 -2
  94. package/dist/oauth/github.js +1 -1
  95. package/dist/oauth/gitlab.cjs +19 -16
  96. package/dist/oauth/gitlab.d.ts +3 -2
  97. package/dist/oauth/gitlab.js +1 -1
  98. package/dist/oauth/index.cjs +266 -166
  99. package/dist/oauth/index.d.ts +3 -2
  100. package/dist/oauth/index.js +22 -21
  101. package/dist/oauth/mailchimp.cjs +19 -16
  102. package/dist/oauth/mailchimp.d.ts +3 -2
  103. package/dist/oauth/mailchimp.js +1 -1
  104. package/dist/oauth/pinterest.cjs +19 -16
  105. package/dist/oauth/pinterest.d.ts +3 -2
  106. package/dist/oauth/pinterest.js +1 -1
  107. package/dist/oauth/spotify.cjs +19 -16
  108. package/dist/oauth/spotify.d.ts +3 -2
  109. package/dist/oauth/spotify.js +1 -1
  110. package/dist/oauth/strava.cjs +19 -16
  111. package/dist/oauth/strava.d.ts +3 -2
  112. package/dist/oauth/strava.js +1 -1
  113. package/dist/oauth/x.cjs +19 -16
  114. package/dist/oauth/x.d.ts +3 -2
  115. package/dist/oauth/x.js +1 -1
  116. package/dist/schemas.cjs +16 -2
  117. package/dist/schemas.d.ts +17 -1
  118. package/dist/schemas.js +5 -3
  119. package/dist/secure.cjs +58 -16
  120. package/dist/secure.d.ts +4 -10
  121. package/dist/secure.js +5 -5
  122. package/dist/utils.cjs +94 -87
  123. package/dist/utils.d.ts +9 -39
  124. package/dist/utils.js +11 -9
  125. package/package.json +3 -4
  126. package/dist/chunk-42XB3YCW.js +0 -22
  127. package/dist/chunk-6R2YZ4AC.js +0 -22
  128. package/dist/chunk-A3N4PVAT.js +0 -70
  129. package/dist/chunk-B737EUJV.js +0 -22
  130. package/dist/chunk-CXLATHS5.js +0 -143
  131. package/dist/chunk-DIVDFNAP.js +0 -0
  132. package/dist/chunk-E3OXBRYF.js +0 -22
  133. package/dist/chunk-EIL2FPSS.js +0 -22
  134. package/dist/chunk-EMKJA2GJ.js +0 -89
  135. package/dist/chunk-FIPU4MLT.js +0 -21
  136. package/dist/chunk-FKRDCWBF.js +0 -22
  137. package/dist/chunk-HP34YGGJ.js +0 -22
  138. package/dist/chunk-IKHPGFCW.js +0 -14
  139. package/dist/chunk-IUYZQTJV.js +0 -30
  140. package/dist/chunk-KRNOMBXQ.js +0 -22
  141. package/dist/chunk-KSWLO5ZU.js +0 -102
  142. package/dist/chunk-N4SX7TZT.js +0 -96
  143. package/dist/chunk-STHEPPUZ.js +0 -11
@@ -1,7 +1,8 @@
1
1
  import 'zod';
2
+ export { j as APIErrorMap, a6 as AccessTokenError, d as AuthConfig, e as AuthInstance, b as AuthInternalErrorCode, A as AuthRuntimeConfig, c as AuthSecurityErrorCode, a5 as AuthorizationError, C as CookieConfig, a3 as CookieName, a as CookieStoreConfig, a2 as CookieStrategyAttributes, E as ErrorType, a0 as HostCookie, I as InternalLogger, J as JWTPayloadWithToken, _ as JWTStandardClaims, f as JoseInstance, i as LogLevel, L as Logger, a8 as OAuthEnv, a4 as OAuthError, O as OAuthProvider, g as OAuthProviderConfig, h as OAuthProviderCredentials, k as OAuthProviderRecord, R as RouterGlobalContext, $ as SecureCookie, S as Session, a9 as Severity, a1 as StandardCookie, aa as SyslogOptions, a7 as TokenRevocationError, T as TrustedOrigin, U as User } from '../index-CSyIJmCM.js';
2
3
  import '../schemas.js';
4
+ import '../jose.js';
3
5
  import '@aura-stack/router/cookie';
4
- import '@aura-stack/jose';
5
- import '@aura-stack/jose/jose';
6
- export { i as APIErrorMap, a0 as AccessTokenError, d as AuthConfig, e as AuthInstance, b as AuthInternalErrorCode, A as AuthRuntimeConfig, c as AuthSecurityErrorCode, $ as AuthorizationError, C as CookieConfig, Z as CookieName, a as CookieStoreConfig, Y as CookieStrategyAttributes, E as ErrorType, V as HostCookie, J as JWTPayloadWithToken, Q as JWTStandardClaims, f as JoseInstance, a2 as OAuthEnv, _ as OAuthError, O as OAuthProvider, g as OAuthProviderConfig, h as OAuthProviderCredentials, j as OAuthProviderRecord, R as RouterGlobalContext, T as SecureCookie, S as Session, W as StandardCookie, a1 as TokenRevocationError, U as User } from '../index-DkaLJFn8.js';
7
6
  export { LiteralUnion, Prettify } from './utility.js';
7
+ import '@aura-stack/jose/jose';
8
+ import '@aura-stack/jose';
@@ -1,18 +1 @@
1
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // src/@types/router.d.ts
17
- var router_d_exports = {};
18
- module.exports = __toCommonJS(router_d_exports);
@@ -1,9 +1,10 @@
1
- import { R as RouterGlobalContext } from '../index-DkaLJFn8.js';
1
+ import { R as RouterGlobalContext } from '../index-CSyIJmCM.js';
2
2
  import 'zod';
3
3
  import '../schemas.js';
4
- import '@aura-stack/router/cookie';
4
+ import '../jose.js';
5
5
  import '@aura-stack/jose';
6
6
  import '@aura-stack/jose/jose';
7
+ import '@aura-stack/router/cookie';
7
8
  import './utility.js';
8
9
 
9
10
  declare module "@aura-stack/router" {
@@ -1 +0,0 @@
1
- import "../chunk-DIVDFNAP.js";
@@ -35,9 +35,6 @@ var fetchAsync = async (url, options2 = {}, timeout = 5e3) => {
35
35
  return response;
36
36
  };
37
37
 
38
- // src/utils.ts
39
- var import_router = require("@aura-stack/router");
40
-
41
38
  // src/errors.ts
42
39
  var OAuthProtocolError = class extends Error {
43
40
  type = "OAUTH_PROTOCOL_ERROR";
@@ -62,25 +59,20 @@ var AuthInternalError = class extends Error {
62
59
  }
63
60
  };
64
61
 
65
- // src/utils.ts
66
- var formatZodError = (error) => {
67
- if (!error.issues || error.issues.length === 0) {
68
- return {};
69
- }
70
- return error.issues.reduce((previous, issue) => {
71
- const key = issue.path.join(".");
72
- return {
73
- ...previous,
74
- [key]: {
75
- code: issue.code,
76
- message: issue.message
77
- }
78
- };
79
- }, {});
80
- };
81
-
82
62
  // src/schemas.ts
83
63
  var import_zod = require("zod");
64
+ var OAuthProviderCredentialsSchema = (0, import_zod.object)({
65
+ id: (0, import_zod.string)(),
66
+ name: (0, import_zod.string)(),
67
+ authorizeURL: (0, import_zod.string)().url(),
68
+ accessToken: (0, import_zod.string)().url(),
69
+ scope: (0, import_zod.string)(),
70
+ userInfo: (0, import_zod.string)().url(),
71
+ responseType: (0, import_zod.enum)(["code", "token", "id_token"]),
72
+ clientId: (0, import_zod.string)(),
73
+ clientSecret: (0, import_zod.string)(),
74
+ profile: import_zod.z.function().optional()
75
+ });
84
76
  var OAuthProviderConfigSchema = (0, import_zod.object)({
85
77
  authorizeURL: (0, import_zod.string)().url(),
86
78
  accessToken: (0, import_zod.string)().url(),
@@ -148,14 +140,21 @@ var OAuthEnvSchema = (0, import_zod.object)({
148
140
  });
149
141
 
150
142
  // src/actions/callback/access-token.ts
151
- var createAccessToken = async (oauthConfig, redirectURI, code, codeVerifier) => {
143
+ var createAccessToken = async (oauthConfig, redirectURI, code, codeVerifier, logger) => {
152
144
  const parsed = OAuthAccessToken.safeParse({ ...oauthConfig, redirectURI, code, codeVerifier });
153
145
  if (!parsed.success) {
154
- const msg = JSON.stringify(formatZodError(parsed.error), null, 2);
155
- throw new AuthInternalError("INVALID_OAUTH_CONFIGURATION", msg);
146
+ logger?.log("INVALID_OAUTH_CONFIGURATION");
147
+ throw new AuthInternalError("INVALID_OAUTH_CONFIGURATION", "The OAuth provider configuration is invalid.");
156
148
  }
157
149
  const { accessToken, clientId, clientSecret, code: codeParsed, redirectURI: redirectParsed } = parsed.data;
158
150
  try {
151
+ logger?.log("OAUTH_ACCESS_TOKEN_REQUEST_INITIATED", {
152
+ structuredData: {
153
+ has_client_id: Boolean(clientId),
154
+ redirect_uri: redirectParsed,
155
+ grant_type: "authorization_code"
156
+ }
157
+ });
159
158
  const response = await fetchAsync(accessToken, {
160
159
  method: "POST",
161
160
  headers: {
@@ -171,17 +170,33 @@ var createAccessToken = async (oauthConfig, redirectURI, code, codeVerifier) =>
171
170
  code_verifier: codeVerifier
172
171
  }).toString()
173
172
  });
173
+ if (!response.ok) {
174
+ logger?.log("INVALID_OAUTH_ACCESS_TOKEN_RESPONSE");
175
+ throw new OAuthProtocolError("invalid_request", "Invalid access token response");
176
+ }
174
177
  const json = await response.json();
175
178
  const token = OAuthAccessTokenResponse.safeParse(json);
176
179
  if (!token.success) {
177
180
  const { success, data } = OAuthAccessTokenErrorResponse.safeParse(json);
178
181
  if (!success) {
179
- throw new OAuthProtocolError("INVALID_REQUEST", "Invalid access token response format");
182
+ logger?.log("INVALID_OAUTH_ACCESS_TOKEN_RESPONSE");
183
+ throw new OAuthProtocolError("invalid_request", "Invalid access token response format");
180
184
  }
181
- throw new OAuthProtocolError(data.error, data?.error_description ?? "Failed to retrieve access token");
185
+ logger?.log("OAUTH_ACCESS_TOKEN_ERROR", {
186
+ structuredData: {
187
+ error: data.error,
188
+ error_description: data.error_description ?? ""
189
+ }
190
+ });
191
+ throw new OAuthProtocolError("INVALID_ACCESS_TOKEN", "Failed to retrieve access token");
182
192
  }
193
+ logger?.log("OAUTH_ACCESS_TOKEN_SUCCESS");
183
194
  return token.data;
184
195
  } catch (error) {
196
+ logger?.log("OAUTH_ACCESS_TOKEN_REQUEST_FAILED");
197
+ if (error instanceof Error) {
198
+ throw new OAuthProtocolError("server_error", "Failed to communicate with OAuth provider", "", { cause: error });
199
+ }
185
200
  throw error;
186
201
  }
187
202
  };
@@ -1,9 +1,10 @@
1
- import { h as OAuthProviderCredentials } from '../../index-DkaLJFn8.js';
1
+ import { h as OAuthProviderCredentials, I as InternalLogger } from '../../index-CSyIJmCM.js';
2
2
  import 'zod';
3
3
  import '../../schemas.js';
4
- import '@aura-stack/router/cookie';
4
+ import '../../jose.js';
5
5
  import '@aura-stack/jose';
6
6
  import '@aura-stack/jose/jose';
7
+ import '@aura-stack/router/cookie';
7
8
  import '../../@types/utility.js';
8
9
 
9
10
  /**
@@ -17,7 +18,7 @@ import '../../@types/utility.js';
17
18
  * @param code - The authorization code received from the OAuth server
18
19
  * @returns The access token response from the OAuth server
19
20
  */
20
- declare const createAccessToken: (oauthConfig: OAuthProviderCredentials, redirectURI: string, code: string, codeVerifier: string) => Promise<{
21
+ declare const createAccessToken: (oauthConfig: OAuthProviderCredentials, redirectURI: string, code: string, codeVerifier: string, logger?: InternalLogger) => Promise<{
21
22
  access_token: string;
22
23
  token_type?: string | undefined;
23
24
  expires_in?: number | undefined;
@@ -1,10 +1,9 @@
1
1
  import {
2
2
  createAccessToken
3
- } from "../../chunk-GA2SMTJO.js";
4
- import "../../chunk-CXLATHS5.js";
5
- import "../../chunk-RRLIF4PQ.js";
3
+ } from "../../chunk-TZB6MUXN.js";
6
4
  import "../../chunk-ZNCZVF6U.js";
7
- import "../../chunk-YRCB5FLE.js";
5
+ import "../../chunk-KJBAQZX2.js";
6
+ import "../../chunk-RRLIF4PQ.js";
8
7
  export {
9
8
  createAccessToken
10
9
  };