playwright-ms-auth 0.0.10 → 0.0.12

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/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  A robust, production-ready authentication framework that simplifies Microsoft identity integration in Playwright test suites. Built with the Abstract Factory pattern, it supports both password and certificate-based authentication across multiple credential providers including Azure KeyVault, local files, environment variables, and GitHub Secrets.
15
15
 
16
- Perfect for enterprise test automation requiring secure, reusable authentication flows with multi-region support and smart session caching.
16
+ Perfect for enterprise test automation requiring secure, reusable authentication flows with multi-region support and smart session caching. Get started in seconds with just email and password, or use enterprise-grade providers like Azure KeyVault for production.
17
17
 
18
18
  ## Tech Stack
19
19
 
@@ -41,11 +41,12 @@ Perfect for enterprise test automation requiring secure, reusable authentication
41
41
  - 🏭 **Abstract Factory Pattern**: Easily extensible credential provider system
42
42
  - ☁️ **Multiple Providers**: Azure KeyVault, Local File, Environment Variables, GitHub Secrets
43
43
  - 🌍 **Multi-Region Support**: Works with different Microsoft Entra endpoints
44
- - 🔧 **CLI Tool**: Full-featured command-line interface
44
+ - 🔧 **CLI Tool**: Full-featured command-line interface with direct password support
45
45
  - 🌳 **Environment Variables**: Complete configuration via environment variables
46
46
  - 💾 **Smart Caching**: Automatic storage state management with expiration
47
47
  - 📝 **TypeScript**: Full type safety and IntelliSense support
48
48
  - 🐛 **Debug Logging**: Comprehensive logging for troubleshooting
49
+ - ⚡ **Zero Config for Simple Cases**: Just email and password to get started
49
50
 
50
51
  ## Installation
51
52
 
@@ -58,14 +59,26 @@ npm install playwright-ms-auth
58
59
  ### Using CLI
59
60
 
60
61
  ```bash
61
- # Authenticate with Azure KeyVault
62
+ # Simple password authentication (for testing/development)
63
+ npx ms-auth login \
64
+ --url https://your-app.com \
65
+ --email user@company.com \
66
+ --password "your-password"
67
+
68
+ # Run in headful mode (visible browser window)
69
+ npx ms-auth login \
70
+ --url https://your-app.com \
71
+ --email user@company.com \
72
+ --password "your-password" \
73
+ --headful
74
+
75
+ # Authenticate with Azure KeyVault (recommended for production)
62
76
  npx ms-auth login \
63
77
  --url https://your-app.com \
64
78
  --email user@company.com \
65
79
  --credential-provider azure-keyvault \
66
80
  --keyvault-endpoint https://your-vault.vault.azure.net \
67
- --keyvault-secret your-secret-name \
68
- --debug
81
+ --keyvault-secret your-secret-name
69
82
 
70
83
  # Authenticate with local certificate file
71
84
  npx ms-auth login \
@@ -166,7 +179,7 @@ const config: MsAuthConfig = {
166
179
 
167
180
  ### Environment Variables
168
181
 
169
- Read credentials directly from environment variables.
182
+ Read credentials directly from environment variables. **Also used when passing `--password` via CLI.**
170
183
 
171
184
  ```typescript
172
185
  const config: MsAuthConfig = {
@@ -179,10 +192,30 @@ const config: MsAuthConfig = {
179
192
  };
180
193
  ```
181
194
 
195
+ **CLI Usage:**
196
+
197
+ ```bash
198
+ # Direct password (automatically uses environment provider)
199
+ npx ms-auth login \
200
+ --url https://your-app.com \
201
+ --email user@company.com \
202
+ --password "your-password"
203
+
204
+ # Or use environment variable
205
+ export MY_PASSWORD_VAR="your-password"
206
+ npx ms-auth login \
207
+ --url https://your-app.com \
208
+ --email user@company.com \
209
+ --credential-provider environment \
210
+ --env-variable MY_PASSWORD_VAR
211
+ ```
212
+
182
213
  **Environment Variables:**
183
214
 
184
215
  - `MS_AUTH_ENV_VARIABLE_NAME`
185
216
 
217
+ ⚠️ **Security Note**: Using `--password` directly in CLI is not recommended for production. Use Azure KeyVault or other secure providers instead.
218
+
186
219
  ### GitHub Secrets
187
220
 
188
221
  Use GitHub Actions secrets (reads from environment).
@@ -213,11 +246,45 @@ All configuration can be provided via environment variables. Run `npx ms-auth en
213
246
 
214
247
  - `MS_AUTH_EMAIL` - User email address
215
248
  - `MS_AUTH_CREDENTIAL_TYPE` - `password` or `certificate`
216
- - `MS_AUTH_CREDENTIAL_PROVIDER` - Provider type
217
- - `MS_AUTH_OUTPUT_DIR` - Directory for storage state files
249
+ - `MS_AUTH_CREDENTIAL_PROVIDER` - Provider type (auto-set to `environment` when using `--password`)
250
+ - `MS_AUTH_OUTPUT_DIR` - Directory for storage state files (defaults to project root)
218
251
  - `MS_AUTH_LOGIN_ENDPOINT` - Entra endpoint (default: `login.microsoftonline.com`)
219
252
  - `MS_AUTH_STORAGE_STATE_EXPIRATION` - Hours until state expires (default: 24)
220
- - `SYSTEM_DEBUG` - Enable debug logging (`true`/`false`)
253
+ - `SYSTEM_DEBUG` - Enable detailed debug logging (`true`/`false`, default: `false`)
254
+
255
+ ### Debugging
256
+
257
+ Enable detailed logging to troubleshoot authentication issues:
258
+
259
+ ```bash
260
+ # Enable debug logging via environment variable
261
+ export SYSTEM_DEBUG=true
262
+ npx ms-auth login --url https://your-app.com --email user@company.com --password "your-password"
263
+
264
+ # Or inline
265
+ SYSTEM_DEBUG=true npx ms-auth login --url https://your-app.com --email user@company.com --password "your-password"
266
+
267
+ # In .env file
268
+ SYSTEM_DEBUG=true
269
+ ```
270
+
271
+ When `SYSTEM_DEBUG=true`, you'll see detailed logs including:
272
+
273
+ - Authentication flow steps
274
+ - Credential provider operations
275
+ - Browser launch parameters
276
+ - Storage state paths
277
+ - Screenshot locations
278
+ - URL redirects and navigation events
279
+
280
+ ### Quick Reference
281
+
282
+ | Use Case | Command |
283
+ | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
284
+ | **Development/Testing** | `npx ms-auth login --url <url> --email <email> --password <pwd>` |
285
+ | **Production (KeyVault)** | `npx ms-auth login --url <url> --email <email> --credential-provider azure-keyvault --keyvault-endpoint <endpoint> --keyvault-secret <secret>` |
286
+ | **Certificate Auth** | `npx ms-auth login --url <url> --email <email> --credential-type certificate --credential-provider local-file --local-file <path>` |
287
+ | **Environment Var** | `npx ms-auth login --url <url> --email <email> --credential-provider environment --env-variable MY_VAR` |
221
288
 
222
289
  ## Architecture
223
290
 
@@ -474,6 +541,11 @@ playwright-ms-auth/
474
541
  │ ├── GitHubSecretsProvider.ts # GitHub secrets implementation
475
542
  │ ├── CredentialProviderFactory.ts # Factory pattern
476
543
  │ └── index.ts # Provider exports
544
+ ├── examples/
545
+ │ ├── msLogin.ts # Example authentication helper
546
+ │ ├── .env.example # Environment template
547
+ │ ├── package.json # Example dependencies
548
+ │ └── README.md # Example documentation
477
549
  ├── bin/
478
550
  │ └── ms-auth # CLI executable
479
551
  ├── package.json
@@ -481,6 +553,25 @@ playwright-ms-auth/
481
553
  └── README.md
482
554
  ```
483
555
 
556
+ ## Examples
557
+
558
+ Check out the [`examples/`](./examples) directory for a complete working example:
559
+
560
+ ```bash
561
+ cd examples
562
+ npm install
563
+ npm run login
564
+ ```
565
+
566
+ The example includes:
567
+
568
+ - 📝 Ready-to-use authentication helper (`msLogin.ts`)
569
+ - 🔧 Pre-configured environment file
570
+ - 📚 Complete documentation
571
+ - ⚡ NPM scripts for easy execution
572
+
573
+ See [`examples/README.md`](./examples/README.md) for details.
574
+
484
575
  ## Abstract Factory Pattern
485
576
 
486
577
  The package uses the **Abstract Factory Pattern** for extensibility:
@@ -520,6 +611,173 @@ class MyCustomProvider extends CredentialProvider {
520
611
  }
521
612
  ```
522
613
 
614
+ ## Troubleshooting & FAQ
615
+
616
+ ### Authentication Issues
617
+
618
+ **Q: Browser is not visible when using `--headful` flag**
619
+
620
+ A: Make sure you're running the latest version and that Microsoft Edge is installed. The package uses Edge for better Windows compatibility.
621
+
622
+ ```bash
623
+ # Verify Edge channel is working
624
+ npx playwright install msedge
625
+ ```
626
+
627
+ **Q: Authentication times out waiting for redirect**
628
+
629
+ A: This usually happens when SharePoint redirects to a different page after login. The package automatically handles redirects to any page on the same domain. Enable debug logging to see the actual redirect:
630
+
631
+ ```bash
632
+ SYSTEM_DEBUG=true npx ms-auth login --url https://your-site.com --email user@company.com --password "pwd"
633
+ ```
634
+
635
+ **Q: "page.waitForURL: Timeout exceeded" error**
636
+
637
+ A: The authentication may have succeeded but redirected to a different page than expected. Check the logs for "navigated to" message. This is normal for SharePoint sites that redirect to home pages.
638
+
639
+ **Q: Screenshot saved to wrong location**
640
+
641
+ A: Screenshots are saved to `<project-root>/screenshots/` by default. To change this, set `MS_AUTH_OUTPUT_DIR`:
642
+
643
+ ```bash
644
+ export MS_AUTH_OUTPUT_DIR=/path/to/custom/dir
645
+ ```
646
+
647
+ ### Storage State Issues
648
+
649
+ **Q: Where are storage state files saved?**
650
+
651
+ A: By default, storage state files are saved to `<project-root>/.playwright-ms-auth/state-{email}.json`. You can customize this with the `MS_AUTH_OUTPUT_DIR` environment variable.
652
+
653
+ **Q: How long do storage states last?**
654
+
655
+ A: Storage states expire after 24 hours by default. Configure with `MS_AUTH_STORAGE_STATE_EXPIRATION` (in hours):
656
+
657
+ ```bash
658
+ export MS_AUTH_STORAGE_STATE_EXPIRATION=48 # 48 hours
659
+ ```
660
+
661
+ **Q: How do I force re-authentication?**
662
+
663
+ A: Delete the storage state file or use the CLI:
664
+
665
+ ```bash
666
+ # Find and delete the storage state file
667
+ rm .playwright-ms-auth/state-your-email@company.com.json
668
+
669
+ # Or use clearAuth from examples
670
+ npm run clear-auth
671
+ ```
672
+
673
+ ### Debugging
674
+
675
+ **Q: How do I enable detailed logging?**
676
+
677
+ A: Set `SYSTEM_DEBUG=true` to see detailed authentication flow:
678
+
679
+ ```bash
680
+ # Temporary (command line)
681
+ SYSTEM_DEBUG=true npx ms-auth login --url https://site.com --email user@company.com --password "pwd"
682
+
683
+ # Permanent (in .env file)
684
+ SYSTEM_DEBUG=true
685
+ ```
686
+
687
+ Debug logs include:
688
+
689
+ - Credential provider operations
690
+ - Browser launch parameters (headless/headful)
691
+ - Storage state paths
692
+ - Screenshot locations
693
+ - Navigation events and redirects
694
+ - Authentication flow steps
695
+
696
+ **Q: Authentication succeeds but I get errors in my tests**
697
+
698
+ A: Verify the storage state file exists and check its timestamp:
699
+
700
+ ```bash
701
+ # Check if file exists and when it was created
702
+ ls -la .playwright-ms-auth/state-*.json
703
+
704
+ # View file contents (check cookies)
705
+ cat .playwright-ms-auth/state-*.json
706
+ ```
707
+
708
+ **Q: Getting "Cannot find module" errors**
709
+
710
+ A: Make sure to rebuild after making changes:
711
+
712
+ ```bash
713
+ npm run build
714
+
715
+ # If using examples directory
716
+ cd examples
717
+ rm -rf node_modules/playwright-ms-auth
718
+ npm install
719
+ ```
720
+
721
+ ### Certificate Authentication
722
+
723
+ **Q: Certificate authentication fails with validation error**
724
+
725
+ A: Ensure:
726
+
727
+ 1. Certificate is in PFX/P12 format
728
+ 2. Certificate is not expired
729
+ 3. Certificate password is correct (if encrypted)
730
+ 4. Certificate is trusted by the Entra tenant
731
+
732
+ **Q: How do I convert PEM to PFX?**
733
+
734
+ ```bash
735
+ openssl pkcs12 -export -out cert.pfx -inkey private.key -in certificate.crt
736
+ ```
737
+
738
+ ### Production Issues
739
+
740
+ **Q: Should I use `--password` flag in production?**
741
+
742
+ A: No. Use Azure KeyVault or other secure credential providers for production:
743
+
744
+ ```bash
745
+ # Production (Azure KeyVault)
746
+ npx ms-auth login \
747
+ --url https://your-site.com \
748
+ --email user@company.com \
749
+ --credential-provider azure-keyvault \
750
+ --keyvault-endpoint https://vault.vault.azure.net \
751
+ --keyvault-secret secret-name
752
+ ```
753
+
754
+ **Q: How do I handle multiple environments?**
755
+
756
+ A: Use different `.env` files or environment-specific configuration:
757
+
758
+ ```bash
759
+ # Development
760
+ SYSTEM_DEBUG=true npm run login
761
+
762
+ # Production
763
+ MS_AUTH_CREDENTIAL_PROVIDER=azure-keyvault npm run login
764
+ ```
765
+
766
+ **Q: Can I use this in CI/CD pipelines?**
767
+
768
+ A: Yes! Use GitHub Secrets or Azure KeyVault providers:
769
+
770
+ ```yaml
771
+ # GitHub Actions example
772
+ - name: Authenticate
773
+ env:
774
+ MS_AUTH_EMAIL: ${{ secrets.MS_AUTH_EMAIL }}
775
+ MS_USER_PASSWORD: ${{ secrets.MS_USER_PASSWORD }}
776
+ MS_AUTH_CREDENTIAL_PROVIDER: environment
777
+ MS_AUTH_ENV_VARIABLE_NAME: MS_USER_PASSWORD
778
+ run: npx ms-auth login --url https://your-site.com
779
+ ```
780
+
523
781
  ## License
524
782
 
525
783
  MIT
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../src/authenticate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,SAAS,CAAC;AAc9D;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAsDf;AAmOD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAe5E"}
1
+ {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../src/authenticate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,SAAS,CAAC;AAc9D;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAuEf;AAiPD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAe5E"}
@@ -18,6 +18,9 @@ export async function authenticate(config, targetUrl) {
18
18
  log(`[MsAuth] Starting authentication for '${config.email}'`);
19
19
  log(`[MsAuth] Credential provider: ${config.credentialProvider}`);
20
20
  log(`[MsAuth] Credential type: ${config.credentialType}`);
21
+ if (config.headless === false) {
22
+ log(`[MsAuth] Running in headful mode (visible browser)`);
23
+ }
21
24
  // Create credential provider and retrieve credential
22
25
  const provider = CredentialProviderFactory.createProvider(config.credentialProvider, config.providerConfig);
23
26
  const credential = await provider.getCredential();
@@ -26,10 +29,16 @@ export async function authenticate(config, targetUrl) {
26
29
  log(`[MsAuth] ##[warning]Credential type mismatch: expected '${config.credentialType}' but got '${credential.type}'`);
27
30
  }
28
31
  // Launch browser and perform authentication
32
+ const headlessMode = config.headless !== false;
33
+ console.log(`[CONSOLE] About to launch browser with headless=${headlessMode} (config.headless=${config.headless})`);
34
+ log(`[MsAuth] About to launch browser with headless=${headlessMode} (config.headless=${config.headless})`);
29
35
  const browser = await chromium.launch({
30
- headless: process.env.HEADLESS !== "false",
36
+ headless: headlessMode,
37
+ channel: "msedge", // Use Microsoft Edge for better Windows compatibility
31
38
  args: ["--no-sandbox", "--disable-setuid-sandbox"],
32
39
  });
40
+ console.log(`[CONSOLE] Browser launched successfully with headless=${headlessMode}`);
41
+ log(`[MsAuth] Browser launched successfully`);
33
42
  try {
34
43
  await performAuthenticationFlow(browser, config, targetUrl, credential, storagePath);
35
44
  log(`[MsAuth] ##[section]Authentication completed successfully for '${config.email}'`);
@@ -69,9 +78,21 @@ async function performAuthenticationFlow(browser, config, targetUrl, credential,
69
78
  }
70
79
  // Handle "Stay signed in?" prompt
71
80
  await handleStaySignedIn(page);
72
- // Wait for redirect to target URL
73
- log(`[MsAuth] Waiting for redirect to target URL`);
74
- await page.waitForURL(targetUrl, { timeout: 30000 });
81
+ // Wait for redirect to target URL or any page on the same domain
82
+ log(`[MsAuth] Waiting for redirect to target domain`);
83
+ const targetDomain = new URL(targetUrl).origin;
84
+ try {
85
+ // Try to wait for the exact URL first
86
+ await page.waitForURL(targetUrl, { timeout: 5000 });
87
+ }
88
+ catch {
89
+ // If exact URL doesn't match, check if we're on the same domain (authentication succeeded)
90
+ const currentUrl = page.url();
91
+ if (!currentUrl.startsWith(targetDomain)) {
92
+ throw new Error(`Authentication may have failed. Expected to be on ${targetDomain}, but got ${currentUrl}`);
93
+ }
94
+ log(`[MsAuth] Redirected to ${currentUrl} (authentication successful)`);
95
+ }
75
96
  // Give it a bit more time for cookies to settle
76
97
  await page.waitForTimeout(2000);
77
98
  // Save storage state
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../src/authenticate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../src/authenticate.ts"],"names":[],"mappings":"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"}
package/lib/cli.js CHANGED
@@ -20,9 +20,11 @@ program
20
20
  .option("--keyvault-secret <secret>", `Azure KeyVault secret name (or set ${EnvVars.KEYVAULT_SECRET_NAME})`)
21
21
  .option("--local-file <path>", `Local file path for credential (or set ${EnvVars.LOCAL_FILE_PATH})`)
22
22
  .option("--env-variable <name>", `Environment variable name (or set ${EnvVars.ENV_VARIABLE_NAME})`)
23
+ .option("--password <password>", `Password for authentication (not recommended for production, use credential providers instead)`)
23
24
  .option("--github-repo <repo>", `GitHub repository owner/repo (or set ${EnvVars.GITHUB_REPOSITORY})`)
24
25
  .option("--github-secret <secret>", `GitHub secret name (or set ${EnvVars.GITHUB_SECRET_NAME})`)
25
26
  .option("--output-dir <dir>", `Output directory for storage state (or set ${EnvVars.OUTPUT_DIR})`)
27
+ .option("--headful", "Run browser in headful mode (visible browser window)")
26
28
  .option("--debug", "Enable debug logging")
27
29
  .action(async (options) => {
28
30
  try {
@@ -37,8 +39,15 @@ program
37
39
  process.env[EnvVars.EMAIL] = options.email;
38
40
  if (options.credentialType)
39
41
  process.env[EnvVars.CREDENTIAL_TYPE] = options.credentialType;
40
- if (options.credentialProvider)
42
+ // Handle password option - automatically set provider to environment
43
+ if (options.password) {
44
+ process.env[EnvVars.CREDENTIAL_PROVIDER] = "environment";
45
+ process.env[EnvVars.ENV_VARIABLE_NAME] = "MS_AUTH_PASSWORD_INLINE";
46
+ process.env["MS_AUTH_PASSWORD_INLINE"] = options.password;
47
+ }
48
+ else if (options.credentialProvider) {
41
49
  process.env[EnvVars.CREDENTIAL_PROVIDER] = options.credentialProvider;
50
+ }
42
51
  if (options.keyvaultEndpoint)
43
52
  process.env[EnvVars.KEYVAULT_ENDPOINT] = options.keyvaultEndpoint;
44
53
  if (options.keyvaultSecret)
@@ -55,10 +64,13 @@ program
55
64
  process.env[EnvVars.OUTPUT_DIR] = options.outputDir;
56
65
  // Load configuration from environment
57
66
  const config = loadConfigFromEnv();
67
+ // Set headless mode based on --headful flag
68
+ config.headless = !options.headful; // If --headful is set, headless = false
58
69
  validateConfig(config);
59
70
  log(`[CLI] Email: ${config.email}`);
60
71
  log(`[CLI] Credential type: ${config.credentialType}`);
61
72
  log(`[CLI] Credential provider: ${config.credentialProvider}`);
73
+ log(`[CLI] Browser mode: ${config.headless ? "headless" : "headful"}`);
62
74
  // Perform authentication
63
75
  await authenticate(config, options.url);
64
76
  console.log("✅ Authentication successful!");
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -2,9 +2,9 @@
2
2
  * Authentication configuration types for playwright-ms-auth
3
3
  */
4
4
  /** Supported credential types */
5
- export type CredentialType = 'password' | 'certificate';
5
+ export type CredentialType = "password" | "certificate";
6
6
  /** Supported credential provider types */
7
- export type CredentialProviderType = 'azure-keyvault' | 'local-file' | 'environment' | 'github-secrets';
7
+ export type CredentialProviderType = "azure-keyvault" | "local-file" | "environment" | "github-secrets";
8
8
  /** Base configuration for authentication */
9
9
  export interface AuthConfig {
10
10
  /** User email/username */
@@ -19,6 +19,8 @@ export interface AuthConfig {
19
19
  storageStateExpiration?: number;
20
20
  /** Entra login endpoint (default: login.microsoftonline.com) */
21
21
  loginEndpoint?: string;
22
+ /** Run browser in headless mode (default: true) */
23
+ headless?: boolean;
22
24
  }
23
25
  /** Configuration for Azure KeyVault credential provider */
24
26
  export interface AzureKeyVaultConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iCAAiC;AACjC,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;AAExD,0CAA0C;AAC1C,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAExG,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,wCAAwC;IACxC,cAAc,EAAE,cAAc,CAAC;IAE/B,wCAAwC;IACxC,kBAAkB,EAAE,sBAAsB,CAAC;IAE3C,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sDAAsD;IACtD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IAErB,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IAEnB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAE7G,4CAA4C;AAC5C,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,sCAAsC;IACtC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,qCAAqC;AACrC,eAAO,MAAM,OAAO;IAClB,iBAAiB;;IAGjB,6CAA6C;;IAG7C,+BAA+B;;IAG/B,8BAA8B;;IAG9B,2BAA2B;;IAG3B,sBAAsB;;IAGtB,2BAA2B;;IAG3B,+CAA+C;;IAG/C,yCAAyC;;IAGzC,2BAA2B;;IAG3B,qCAAqC;;IAGrC,wBAAwB;;IAGxB,yBAAyB;;IAGzB,mBAAmB;;IAGnB,oBAAoB;;CAEZ,CAAC;AAEX,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,IAAI,EAAE,cAAc,CAAC;IAErB,mEAAmE;IACnE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,0CAA0C;AAC1C,MAAM,WAAW,QAAQ;IACvB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iCAAiC;AACjC,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;AAExD,0CAA0C;AAC1C,MAAM,MAAM,sBAAsB,GAC9B,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,gBAAgB,CAAC;AAErB,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,wCAAwC;IACxC,cAAc,EAAE,cAAc,CAAC;IAE/B,wCAAwC;IACxC,kBAAkB,EAAE,sBAAsB,CAAC;IAE3C,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sDAAsD;IACtD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IAErB,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IAEnB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,MAAM,cAAc,GACtB,mBAAmB,GACnB,eAAe,GACf,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,4CAA4C;AAC5C,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,sCAAsC;IACtC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,qCAAqC;AACrC,eAAO,MAAM,OAAO;IAClB,iBAAiB;;IAGjB,6CAA6C;;IAG7C,+BAA+B;;IAG/B,8BAA8B;;IAG9B,2BAA2B;;IAG3B,sBAAsB;;IAGtB,2BAA2B;;IAG3B,+CAA+C;;IAG/C,yCAAyC;;IAGzC,2BAA2B;;IAG3B,qCAAqC;;IAGrC,wBAAwB;;IAGxB,yBAAyB;;IAGzB,mBAAmB;;IAGnB,oBAAoB;;CAEZ,CAAC;AAEX,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,IAAI,EAAE,cAAc,CAAC;IAErB,mEAAmE;IACnE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,0CAA0C;AAC1C,MAAM,WAAW,QAAQ;IACvB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
package/lib/types.js CHANGED
@@ -4,34 +4,34 @@
4
4
  /** CLI environment variable names */
5
5
  export const EnvVars = {
6
6
  /** User email */
7
- EMAIL: 'MS_AUTH_EMAIL',
7
+ EMAIL: "MS_AUTH_EMAIL",
8
8
  /** Credential type (password|certificate) */
9
- CREDENTIAL_TYPE: 'MS_AUTH_CREDENTIAL_TYPE',
9
+ CREDENTIAL_TYPE: "MS_AUTH_CREDENTIAL_TYPE",
10
10
  /** Credential provider type */
11
- CREDENTIAL_PROVIDER: 'MS_AUTH_CREDENTIAL_PROVIDER',
11
+ CREDENTIAL_PROVIDER: "MS_AUTH_CREDENTIAL_PROVIDER",
12
12
  /** Azure KeyVault endpoint */
13
- KEYVAULT_ENDPOINT: 'MS_AUTH_KEYVAULT_ENDPOINT',
13
+ KEYVAULT_ENDPOINT: "MS_AUTH_KEYVAULT_ENDPOINT",
14
14
  /** KeyVault secret name */
15
- KEYVAULT_SECRET_NAME: 'MS_AUTH_KEYVAULT_SECRET_NAME',
15
+ KEYVAULT_SECRET_NAME: "MS_AUTH_KEYVAULT_SECRET_NAME",
16
16
  /** Local file path */
17
- LOCAL_FILE_PATH: 'MS_AUTH_LOCAL_FILE_PATH',
17
+ LOCAL_FILE_PATH: "MS_AUTH_LOCAL_FILE_PATH",
18
18
  /** Certificate password */
19
- CERTIFICATE_PASSWORD: 'MS_AUTH_CERTIFICATE_PASSWORD',
19
+ CERTIFICATE_PASSWORD: "MS_AUTH_CERTIFICATE_PASSWORD",
20
20
  /** Environment variable name for credential */
21
- ENV_VARIABLE_NAME: 'MS_AUTH_ENV_VARIABLE_NAME',
21
+ ENV_VARIABLE_NAME: "MS_AUTH_ENV_VARIABLE_NAME",
22
22
  /** Output directory for storage state */
23
- OUTPUT_DIR: 'MS_AUTH_OUTPUT_DIR',
23
+ OUTPUT_DIR: "MS_AUTH_OUTPUT_DIR",
24
24
  /** Entra login endpoint */
25
- LOGIN_ENDPOINT: 'MS_AUTH_LOGIN_ENDPOINT',
25
+ LOGIN_ENDPOINT: "MS_AUTH_LOGIN_ENDPOINT",
26
26
  /** Storage state expiration hours */
27
- STORAGE_STATE_EXPIRATION: 'MS_AUTH_STORAGE_STATE_EXPIRATION',
27
+ STORAGE_STATE_EXPIRATION: "MS_AUTH_STORAGE_STATE_EXPIRATION",
28
28
  /** GitHub repository */
29
- GITHUB_REPOSITORY: 'MS_AUTH_GITHUB_REPOSITORY',
29
+ GITHUB_REPOSITORY: "MS_AUTH_GITHUB_REPOSITORY",
30
30
  /** GitHub secret name */
31
- GITHUB_SECRET_NAME: 'MS_AUTH_GITHUB_SECRET_NAME',
31
+ GITHUB_SECRET_NAME: "MS_AUTH_GITHUB_SECRET_NAME",
32
32
  /** GitHub token */
33
- GITHUB_TOKEN: 'MS_AUTH_GITHUB_TOKEN',
33
+ GITHUB_TOKEN: "MS_AUTH_GITHUB_TOKEN",
34
34
  /** Debug logging */
35
- SYSTEM_DEBUG: 'SYSTEM_DEBUG',
35
+ SYSTEM_DEBUG: "SYSTEM_DEBUG",
36
36
  };
37
37
  //# sourceMappingURL=types.js.map
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgFH,qCAAqC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,iBAAiB;IACjB,KAAK,EAAE,eAAe;IAEtB,6CAA6C;IAC7C,eAAe,EAAE,yBAAyB;IAE1C,+BAA+B;IAC/B,mBAAmB,EAAE,6BAA6B;IAElD,8BAA8B;IAC9B,iBAAiB,EAAE,2BAA2B;IAE9C,2BAA2B;IAC3B,oBAAoB,EAAE,8BAA8B;IAEpD,sBAAsB;IACtB,eAAe,EAAE,yBAAyB;IAE1C,2BAA2B;IAC3B,oBAAoB,EAAE,8BAA8B;IAEpD,+CAA+C;IAC/C,iBAAiB,EAAE,2BAA2B;IAE9C,yCAAyC;IACzC,UAAU,EAAE,oBAAoB;IAEhC,2BAA2B;IAC3B,cAAc,EAAE,wBAAwB;IAExC,qCAAqC;IACrC,wBAAwB,EAAE,kCAAkC;IAE5D,wBAAwB;IACxB,iBAAiB,EAAE,2BAA2B;IAE9C,yBAAyB;IACzB,kBAAkB,EAAE,4BAA4B;IAEhD,mBAAmB;IACnB,YAAY,EAAE,sBAAsB;IAEpC,oBAAoB;IACpB,YAAY,EAAE,cAAc;CACpB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2FH,qCAAqC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,iBAAiB;IACjB,KAAK,EAAE,eAAe;IAEtB,6CAA6C;IAC7C,eAAe,EAAE,yBAAyB;IAE1C,+BAA+B;IAC/B,mBAAmB,EAAE,6BAA6B;IAElD,8BAA8B;IAC9B,iBAAiB,EAAE,2BAA2B;IAE9C,2BAA2B;IAC3B,oBAAoB,EAAE,8BAA8B;IAEpD,sBAAsB;IACtB,eAAe,EAAE,yBAAyB;IAE1C,2BAA2B;IAC3B,oBAAoB,EAAE,8BAA8B;IAEpD,+CAA+C;IAC/C,iBAAiB,EAAE,2BAA2B;IAE9C,yCAAyC;IACzC,UAAU,EAAE,oBAAoB;IAEhC,2BAA2B;IAC3B,cAAc,EAAE,wBAAwB;IAExC,qCAAqC;IACrC,wBAAwB,EAAE,kCAAkC;IAE5D,wBAAwB;IACxB,iBAAiB,EAAE,2BAA2B;IAE9C,yBAAyB;IACzB,kBAAkB,EAAE,4BAA4B;IAEhD,mBAAmB;IACnB,YAAY,EAAE,sBAAsB;IAEpC,oBAAoB;IACpB,YAAY,EAAE,cAAc;CACpB,CAAC"}
package/lib/utils.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Get the calling project's root directory
3
+ */
4
+ export declare function getProjectRoot(): string;
1
5
  /**
2
6
  * Logging function that checks SYSTEM_DEBUG at runtime
3
7
  */
@@ -5,6 +9,7 @@ export declare function log(message: string): void;
5
9
  /**
6
10
  * Get the base directory for authentication files
7
11
  * Can be overridden via MS_AUTH_OUTPUT_DIR environment variable
12
+ * Defaults to project root/.playwright-ms-auth
8
13
  */
9
14
  export declare function getAuthBaseDir(): string;
10
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAMvC;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,GAAG,QAAQ,GAC3B,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,eAAe,GAAE,MAAW,GAC3B,OAAO,CAAC,OAAO,CAAC,CAalB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,GAAG,QAAQ,GAC3B,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,eAAe,GAAE,MAAW,GAC3B,OAAO,CAAC,OAAO,CAAC,CAalB"}
package/lib/utils.js CHANGED
@@ -1,8 +1,29 @@
1
- import { resolve, join } from "node:path";
2
- import { homedir } from "node:os";
1
+ import { resolve, join, dirname, parse } from "node:path";
3
2
  import { mkdir } from "node:fs/promises";
4
3
  import { existsSync } from "node:fs";
5
4
  import { EnvVars } from "./types";
5
+ /**
6
+ * Find the project root by looking for package.json file
7
+ * @param startDir - The directory to start searching from
8
+ * @returns The project root directory
9
+ */
10
+ function findProjectRoot(startDir) {
11
+ let currentDir = startDir;
12
+ while (currentDir !== parse(currentDir).root) {
13
+ if (existsSync(join(currentDir, "package.json"))) {
14
+ return currentDir;
15
+ }
16
+ currentDir = dirname(currentDir);
17
+ }
18
+ // Fall back to the current working directory if project root isn't found
19
+ return process.cwd();
20
+ }
21
+ /**
22
+ * Get the calling project's root directory
23
+ */
24
+ export function getProjectRoot() {
25
+ return findProjectRoot(process.cwd());
26
+ }
6
27
  /**
7
28
  * Logging function that checks SYSTEM_DEBUG at runtime
8
29
  */
@@ -15,13 +36,16 @@ export function log(message) {
15
36
  /**
16
37
  * Get the base directory for authentication files
17
38
  * Can be overridden via MS_AUTH_OUTPUT_DIR environment variable
39
+ * Defaults to project root/.playwright-ms-auth
18
40
  */
19
41
  export function getAuthBaseDir() {
20
42
  const customDir = process.env[EnvVars.OUTPUT_DIR];
21
43
  if (customDir) {
22
44
  return resolve(customDir);
23
45
  }
24
- return resolve(homedir(), ".playwright-ms-auth");
46
+ // Use project root instead of user home directory
47
+ const projectRoot = getProjectRoot();
48
+ return resolve(projectRoot, ".playwright-ms-auth");
25
49
  }
26
50
  /**
27
51
  * Ensure a directory exists
@@ -44,9 +68,13 @@ export function getStorageStatePath(email) {
44
68
  */
45
69
  export function getAuthScreenshotPath(email, status) {
46
70
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
47
- const authDir = getAuthBaseDir();
48
71
  const sanitizedEmail = email.replace(/[^a-zA-Z0-9@.-]/g, "_");
49
- return join(authDir, "screenshots", `auth-${sanitizedEmail}-${status}-${timestamp}.png`);
72
+ // If MS_AUTH_OUTPUT_DIR is set, use that directory
73
+ // Otherwise find the calling project's root directory
74
+ const outputDir = process.env[EnvVars.OUTPUT_DIR];
75
+ const baseDir = outputDir ? resolve(outputDir) : getProjectRoot();
76
+ const screenshotDir = join(baseDir, "screenshots");
77
+ return join(screenshotDir, `auth-${sanitizedEmail}-${status}-${timestamp}.png`);
50
78
  }
51
79
  /**
52
80
  * Sanitize email for use in filenames
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playwright-ms-auth",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Flexible authentication framework for Playwright tests supporting password and certificate auth with multiple credential providers",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -25,7 +25,8 @@
25
25
  "build": "tsc",
26
26
  "clean": "rimraf lib",
27
27
  "prepublishOnly": "npm run clean && npm run build",
28
- "test": "playwright test"
28
+ "test": "playwright test",
29
+ "example:login": "tsx examples/msLogin.ts"
29
30
  },
30
31
  "keywords": [
31
32
  "playwright",
@@ -54,7 +55,9 @@
54
55
  "devDependencies": {
55
56
  "@playwright/test": "^1.44.1",
56
57
  "@types/node": "^20.12.6",
58
+ "dotenv": "^16.4.5",
57
59
  "rimraf": "^5.0.0",
60
+ "tsx": "^4.7.0",
58
61
  "typescript": "^5.4.4"
59
62
  },
60
63
  "dependencies": {