Partager via


Gérer l’authentification et l’autorisation pour les espaces de travail playwright

Dans cet article, vous allez apprendre à gérer l’authentification et l’autorisation pour les espaces de travail playwright. L’authentification est requise pour exécuter des tests Playwright sur les navigateurs hébergés dans le cloud.

Par défaut, Microsoft Entra ID est utilisé pour l’authentification. Cette méthode est plus sécuritaire et est la méthode d’authentification recommandée. Désolé, vous ne pouvez pas désactiver l’authentification à l’aide de Microsoft Entra ID. Cependant, vous pouvez également utiliser des jetons d’accès pour l’authentification et l’autorisation.

Contexte

Les espaces de travail playwright reposent sur l’infrastructure open source playwright. Il exécute des tests Playwright sur les navigateurs hébergés dans le cloud.

Pour utiliser le service, le client doit s’authentifier auprès du service pour accéder aux navigateurs. Le service offre deux méthodes d’authentification : Microsoft Entra ID et les Jetons d’accès.

Microsoft Entra ID utilise vos informations d’identification Azure, nécessitant une connexion à votre compte Azure pour un accès sécurisé. Vous pouvez également générer un jeton d’accès à partir de votre espace de travail Playwright et l’utiliser dans votre configuration. Toutefois, nous recommandons vivement Microsoft Entra ID pour l’authentification en raison de sa sécurité renforcée. Les jetons d’accès, bien que pratiques, fonctionnent comme des mots de passe de longue durée et sont plus susceptibles d’être compromis.

Activer l’authentification à l’aide de jetons d’accès

Par défaut, les espaces de travail Playwright utilisent l’ID Microsoft Entra pour l’authentification, qui est l’approche recommandée. Bien que l’authentification par jeton d’accès soit prise en charge, elle est désactivée par défaut, car elle est moins sécurisée. Pour utiliser des jetons d’accès, vous devez activer explicitement cette option pour votre espace de travail.

Avertissement

Vos jetons d’accès à l’espace de travail sont similaires à un mot de passe pour votre espace de travail Playwright. Veillez toujours à protéger vos jetons d’accès. Évitez de distribuer des jetons d’accès à d’autres utilisateurs, de les coder en dur ou de les enregistrer en texte brut dans un emplacement accessible à d’autres personnes. Révoquez et recréez vos jetons si vous pensez qu’ils sont compromis.

Pour activer l’authentification à l’aide de jetons d’accès :

  1. Connectez-vous au portail Azure avec votre compte Azure et accédez à votre espace de travail.

  2. Dans la section Paramètres, sélectionnez Gestion des accès.

  3. Cochez la case pour le jeton d’accès au service Playwright pour l’activer.

Capture d’écran montrant l’activation de l’authentification à l’aide de jetons d’accès.

Avertissement

L’authentification à l’aide de jetons d’accès est moins sécuritaire. Apprendre à gérer les jetons d’accès

Configurer l’authentification à l’aide de jetons d’accès

  1. Lors de l’exécution des tests, activez l’authentification de jeton d’accès dans le fichier playwright.service.config.ts dans votre configuration.

    import { createAzurePlaywrightConfig, ServiceAuth } from '@azure/playwright';
    
    /* Learn more about service configuration at https://aka.ms/pww/docs/config */
    export default defineConfig(config, createAzurePlaywrightConfig( config, {
        serviceAuthType: ServiceAuth.ACCESS_TOKEN
    }));
    
  1. Lors de l’exécution des tests, activez l’authentification de jeton d’accès dans le fichier d’installation.

    using Azure.Developer.Playwright.NUnit;
    using Azure.Developer.Playwright;
    using Azure.Identity;
    using System.Runtime.InteropServices;
    using System;
    
    namespace PlaywrightService.SampleTests; // Remember to change this as per your project namespace
    
    [SetUpFixture]
    public class PlaywrightServiceNUnitSetup : PlaywrightServiceBrowserNUnit
    {
        public PlaywrightServiceNUnitSetup() : base(
            credential: new DefaultAzureCredential(),
            options: new PlaywrightServiceBrowserClientOptions()
            {
                ServiceAuth = ServiceAuthType.AccessToken
            }
        )
        {
            // no-op
        }
    }
    
  1. Créez un jeton d’accès.

    Suivez les étapes pour créer un jeton d’accès. Copiez la valeur du jeton d’accès généré.

Configurez votre environnement.

Pour configurer votre environnement, configurez la variable d’environnement PLAYWRIGHT_SERVICE_ACCESS_TOKEN en définissant la valeur obtenue au cours des étapes précédentes. Vérifiez que cette variable d’environnement est disponible dans votre configuration où vous exécutez des tests.

Nous vous recommandons d’utiliser le module dotenv pour gérer votre environnement. Avec dotenv, vous définissez les variables d’environnement dans le fichier .env.

  1. Ajoutez le module dotenv à votre projet :

    npm i --save-dev dotenv
    
  2. Créez un fichier .env à côté du fichier playwright.config.ts dans votre projet Playwright :

    PLAYWRIGHT_SERVICE_ACCESS_TOKEN={MY-ACCESS-TOKEN}
    

    Veillez à remplacer l’espace réservé {MY-ACCESS-TOKEN} par la valeur que vous avez copiée précédemment.

Pour configurer votre environnement, configurez la variable d’environnement PLAYWRIGHT_SERVICE_ACCESS_TOKEN en définissant la valeur obtenue au cours des étapes précédentes. Vérifiez que cette variable d’environnement est disponible dans votre configuration où vous exécutez des tests.

Exécuter des tests sur le service

Exécutez des tests playwright sur des navigateurs hébergés dans le cloud à l’aide de la configuration que vous avez créée ci-dessus.

npx playwright test --config=playwright.service.config.ts --workers=20
dotnet test -- NUnit.NumberOfTestWorkers=20