@flink-app/oauth-plugin 0.12.1-alpha.45 → 0.13.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 ADDED
@@ -0,0 +1,7 @@
1
+ # @flink-app/oauth-plugin
2
+
3
+ ## 0.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Migrate to pnpm and streamlines build process.
@@ -26,13 +26,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.oauthPlugin = void 0;
29
+ exports.oauthPlugin = oauthPlugin;
30
30
  const flink_1 = require("@flink-app/flink");
31
- const OAuthSessionRepo_1 = __importDefault(require("./repos/OAuthSessionRepo"));
31
+ const CallbackOAuth = __importStar(require("./handlers/CallbackOAuth"));
32
+ const InitiateOAuth = __importStar(require("./handlers/InitiateOAuth"));
32
33
  const OAuthConnectionRepo_1 = __importDefault(require("./repos/OAuthConnectionRepo"));
34
+ const OAuthSessionRepo_1 = __importDefault(require("./repos/OAuthSessionRepo"));
33
35
  const encryption_utils_1 = require("./utils/encryption-utils");
34
- const InitiateOAuth = __importStar(require("./handlers/InitiateOAuth"));
35
- const CallbackOAuth = __importStar(require("./handlers/CallbackOAuth"));
36
36
  /**
37
37
  * OAuth Plugin Factory Function
38
38
  *
@@ -244,4 +244,3 @@ function oauthPlugin(options) {
244
244
  init,
245
245
  };
246
246
  }
247
- exports.oauthPlugin = oauthPlugin;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProvider = void 0;
3
+ exports.getProvider = getProvider;
4
4
  const GitHubProvider_1 = require("./GitHubProvider");
5
5
  const GoogleProvider_1 = require("./GoogleProvider");
6
6
  /**
@@ -21,4 +21,3 @@ function getProvider(providerName, config) {
21
21
  throw new Error(`Unsupported OAuth provider: ${providerName}`);
22
22
  }
23
23
  }
24
- exports.getProvider = getProvider;
@@ -9,7 +9,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.validateEncryptionSecret = exports.decryptToken = exports.encryptToken = void 0;
12
+ exports.encryptToken = encryptToken;
13
+ exports.decryptToken = decryptToken;
14
+ exports.validateEncryptionSecret = validateEncryptionSecret;
13
15
  const crypto_1 = __importDefault(require("crypto"));
14
16
  /**
15
17
  * Encryption algorithm configuration
@@ -70,7 +72,6 @@ function encryptToken(token, secret) {
70
72
  throw new Error("Token encryption failed: " + (error instanceof Error ? error.message : "Unknown error"));
71
73
  }
72
74
  }
73
- exports.encryptToken = encryptToken;
74
75
  /**
75
76
  * Decrypt a token using AES-256-GCM
76
77
  *
@@ -114,7 +115,6 @@ function decryptToken(encryptedToken, secret) {
114
115
  throw new Error("Token decryption failed: " + (error instanceof Error ? error.message : "Unknown error"));
115
116
  }
116
117
  }
117
- exports.decryptToken = decryptToken;
118
118
  /**
119
119
  * Validate that encryption secret meets security requirements
120
120
  *
@@ -131,4 +131,3 @@ function validateEncryptionSecret(secret) {
131
131
  }
132
132
  return true;
133
133
  }
134
- exports.validateEncryptionSecret = validateEncryptionSecret;
@@ -6,7 +6,11 @@
6
6
  * user-friendly messages and error code mapping.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.validateResponseType = exports.validateProvider = exports.handleProviderError = exports.createOAuthError = exports.OAuthErrorCodes = void 0;
9
+ exports.OAuthErrorCodes = void 0;
10
+ exports.createOAuthError = createOAuthError;
11
+ exports.handleProviderError = handleProviderError;
12
+ exports.validateProvider = validateProvider;
13
+ exports.validateResponseType = validateResponseType;
10
14
  /**
11
15
  * OAuth error codes
12
16
  */
@@ -38,7 +42,6 @@ function createOAuthError(code, message, details) {
38
42
  details,
39
43
  };
40
44
  }
41
- exports.createOAuthError = createOAuthError;
42
45
  /**
43
46
  * Map provider-specific errors to standardized OAuth errors
44
47
  *
@@ -89,7 +92,6 @@ function handleProviderError(error) {
89
92
  originalError: error.message || "Unknown error",
90
93
  });
91
94
  }
92
- exports.handleProviderError = handleProviderError;
93
95
  /**
94
96
  * Validate provider name
95
97
  *
@@ -103,7 +105,6 @@ function validateProvider(provider) {
103
105
  }
104
106
  return true;
105
107
  }
106
- exports.validateProvider = validateProvider;
107
108
  /**
108
109
  * Validate response_type parameter
109
110
  *
@@ -117,4 +118,3 @@ function validateResponseType(responseType) {
117
118
  }
118
119
  return true;
119
120
  }
120
- exports.validateResponseType = validateResponseType;
@@ -9,7 +9,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.generateSessionId = exports.validateState = exports.generateState = void 0;
12
+ exports.generateState = generateState;
13
+ exports.validateState = validateState;
14
+ exports.generateSessionId = generateSessionId;
13
15
  const crypto_1 = __importDefault(require("crypto"));
14
16
  /**
15
17
  * Generate a cryptographically secure state parameter
@@ -23,7 +25,6 @@ const crypto_1 = __importDefault(require("crypto"));
23
25
  function generateState() {
24
26
  return crypto_1.default.randomBytes(32).toString("hex");
25
27
  }
26
- exports.generateState = generateState;
27
28
  /**
28
29
  * Validate state parameter using constant-time comparison
29
30
  *
@@ -57,7 +58,6 @@ function validateState(provided, stored) {
57
58
  return false;
58
59
  }
59
60
  }
60
- exports.validateState = validateState;
61
61
  /**
62
62
  * Generate a session ID for OAuth flow tracking
63
63
  *
@@ -69,4 +69,3 @@ exports.validateState = validateState;
69
69
  function generateSessionId() {
70
70
  return crypto_1.default.randomBytes(16).toString("hex");
71
71
  }
72
- exports.generateSessionId = generateSessionId;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatTokenResponse = void 0;
3
+ exports.formatTokenResponse = formatTokenResponse;
4
4
  /**
5
5
  * Formats the OAuth callback response with JWT token.
6
6
  * Supports multiple response formats:
@@ -47,4 +47,3 @@ function formatTokenResponse(token, user, redirectUrl, responseType) {
47
47
  },
48
48
  };
49
49
  }
50
- exports.formatTokenResponse = formatTokenResponse;
package/package.json CHANGED
@@ -1,38 +1,34 @@
1
1
  {
2
- "name": "@flink-app/oauth-plugin",
3
- "version": "0.12.1-alpha.45",
4
- "description": "Flink plugin for OAuth 2.0 authentication with GitHub and Google providers",
5
- "scripts": {
6
- "test": "node --preserve-symlinks -r ts-node/register -- node_modules/jasmine/bin/jasmine --config=./spec/support/jasmine.json",
7
- "test:watch": "nodemon --ext ts --exec 'jasmine-ts --config=./spec/support/jasmine.json'",
8
- "prepare": "tsc --project tsconfig.dist.json",
9
- "watch": "tsc-watch --project tsconfig.dist.json"
10
- },
11
- "author": "joel@frost.se",
12
- "license": "MIT",
13
- "types": "dist/index.d.ts",
14
- "main": "dist/index.js",
15
- "publishConfig": {
16
- "access": "public"
17
- },
18
- "peerDependencies": {
19
- "mongodb": "^6.15.0"
20
- },
21
- "devDependencies": {
22
- "@flink-app/flink": "^0.12.1-alpha.45",
23
- "@flink-app/jwt-auth-plugin": "^0.12.1-alpha.45",
24
- "@flink-app/test-utils": "^0.12.1-alpha.45",
25
- "@types/jasmine": "^3.7.1",
26
- "@types/jwt-simple": "^0.5.36",
27
- "@types/node": "22.13.10",
28
- "jasmine": "^3.7.0",
29
- "jasmine-spec-reporter": "^7.0.0",
30
- "jwt-simple": "^0.5.6",
31
- "mongodb": "6.15.0",
32
- "nodemon": "^2.0.7",
33
- "ts-node": "^9.1.1",
34
- "tsc-watch": "^4.2.9",
35
- "typescript": "5.4.5"
36
- },
37
- "gitHead": "af426a157217c110ac9c7beb48e2e746968bec33"
38
- }
2
+ "name": "@flink-app/oauth-plugin",
3
+ "version": "0.13.0",
4
+ "description": "Flink plugin for OAuth 2.0 authentication with GitHub and Google providers",
5
+ "author": "joel@frost.se",
6
+ "license": "MIT",
7
+ "types": "dist/index.d.ts",
8
+ "main": "dist/index.js",
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "peerDependencies": {
13
+ "mongodb": "^6.15.0"
14
+ },
15
+ "devDependencies": {
16
+ "@types/jasmine": "^3.7.1",
17
+ "@types/jwt-simple": "^0.5.36",
18
+ "@types/node": "22.13.10",
19
+ "jwt-simple": "^0.5.6",
20
+ "ts-node": "^10.9.2",
21
+ "tsc-watch": "^4.2.9",
22
+ "@flink-app/flink": "0.13.0",
23
+ "@flink-app/jwt-auth-plugin": "0.13.0",
24
+ "@flink-app/test-utils": "0.13.0"
25
+ },
26
+ "gitHead": "4243e3b3cd6d4e1ca001a61baa8436bf2bbe4113",
27
+ "scripts": {
28
+ "test": "jasmine-ts --config=./spec/support/jasmine.json",
29
+ "test:watch": "nodemon --ext ts --exec 'jasmine-ts --config=./spec/support/jasmine.json'",
30
+ "build": "tsc --project tsconfig.dist.json",
31
+ "watch": "tsc-watch --project tsconfig.dist.json",
32
+ "clean": "rimraf dist .flink"
33
+ }
34
+ }
@@ -1,14 +1,14 @@
1
1
  import { FlinkApp, FlinkPlugin, log } from "@flink-app/flink";
2
2
  import { Db } from "mongodb";
3
- import { OAuthPluginOptions } from "./OAuthPluginOptions";
4
- import { OAuthPluginContext } from "./OAuthPluginContext";
3
+ import * as CallbackOAuth from "./handlers/CallbackOAuth";
4
+ import * as InitiateOAuth from "./handlers/InitiateOAuth";
5
5
  import { OAuthInternalContext } from "./OAuthInternalContext";
6
- import OAuthSessionRepo from "./repos/OAuthSessionRepo";
6
+ import { OAuthPluginContext } from "./OAuthPluginContext";
7
+ import { OAuthPluginOptions } from "./OAuthPluginOptions";
7
8
  import OAuthConnectionRepo from "./repos/OAuthConnectionRepo";
8
- import { encryptToken, decryptToken, validateEncryptionSecret } from "./utils/encryption-utils";
9
+ import OAuthSessionRepo from "./repos/OAuthSessionRepo";
9
10
  import OAuthConnection from "./schemas/OAuthConnection";
10
- import * as InitiateOAuth from "./handlers/InitiateOAuth";
11
- import * as CallbackOAuth from "./handlers/CallbackOAuth";
11
+ import { decryptToken, validateEncryptionSecret } from "./utils/encryption-utils";
12
12
 
13
13
  /**
14
14
  * OAuth Plugin Factory Function
package/tsconfig.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "noEmit": false,
16
16
  "declaration": true,
17
17
  "experimentalDecorators": true,
18
- "checkJs": true,
18
+ "checkJs": false,
19
19
  "outDir": "dist",
20
20
  "typeRoots": ["./node_modules/@types"]
21
21
  },