Position actuelle: Accueil> Derniers articles> Comment implémenter une vérification sécurisée dans PHP à l'aide d'AWS Cognito

Comment implémenter une vérification sécurisée dans PHP à l'aide d'AWS Cognito

M66 2025-06-12

Vérification de la sécurité PHP avec AWS Cognito

AWS Cognito est un puissant service d'authentification et d'autorisation qui aide les développeurs à mettre en œuvre facilement les capacités de gestion des utilisateurs et d'authentification de leurs applications. Dans cet article, nous montrerons comment utiliser AWS Cognito pour s'intégrer à PHP pour implémenter la vérification de la sécurité et expliquer le processus d'implémentation en détail avec des exemples de code.

Condition préalable

Avant de commencer, assurez-vous de rencontrer les conditions préalables suivantes:

  1. Avoir un compte AWS valide et avoir accès à AWS CLI (outils de ligne de commande);
  2. Le service AWS Cognito a été configuré et activé.

Étape 1: Créez un pool d'utilisateurs

Tout d'abord, créez un pool d'utilisateurs dans AWS Cognito pour stocker et gérer les informations d'identification des utilisateurs. Vous pouvez utiliser le CLI AWS ou la console de gestion AWS pour créer un pool d'utilisateurs. Voici des exemples de commandes pour créer un pool d'utilisateurs à l'aide de la CLI AWS:

 
aws cognito-idp create-user-pool --pool-name MyUserPool --auto-verified-attributes email --policies PasswordPolicies=RequiredLength=8,RequireUppercase=true,RequireLowercase=true,RequireNumbers=true,RequireSymbols=true --schema Name=email,AttributeDataType=Email:STRING,Required=true,Name=phone_number,AttributeDataType=Number:STRING,Required=false

Cette commande crée un pool utilisateur nommé "MyuserPool", permet la vérification par e-mail, et les mots de passe doivent respecter les règles spécifiées.

Étape 2: configurer le client du pool utilisateur

Ensuite, pour que votre application interagisse avec le pool d'utilisateurs Cognito, vous devez créer un client de pool utilisateur. Cela peut être fait via la CLI AWS ou la console de gestion. Voici des exemples de commandes pour créer un client de pool utilisateur à l'aide de la CLI AWS:

 
aws cognito-idp create-user-pool-client --user-pool-id YOUR_USER_POOL_ID --client-name MyUserPoolClient --no-generate-secret --explicit-auth-flows ALLOW_REFRESH_TOKEN_AUTH --refresh-token-validity 30

Cette commande crée un client de pool utilisateur nommé "MyuserPoolClient" et permet l'authentification via des jetons de rafraîchissement, qui ont une période de validité de 30 jours.

Étape 3: code PHP pour implémenter l'authentification

Maintenant que nous avons configuré le pool d'utilisateurs et le client, nous pouvons écrire du code PHP pour implémenter l'authentification utilisateur. Tout d'abord, vous devez présenter le SDK AWS pour PHP. Vous pouvez l'installer via Composer ou télécharger directement et introduire le code source SDK.

 
require 'vendor/autoload.php'; // Présenté AWS SDK for PHP Chargement automatique des fichiers
use Aws\CognitoIdentityProvider\CognitoIdentityProviderClient;

Ensuite, configurez les informations d'identification AWS Cognito Access. Remplacez `your_user_pool_id`,` your_user_pool_client_id` et `your_aws_region` dans le code suivant pour vos valeurs réelles:

 
$poolId = 'YOUR_USER_POOL_ID';
$clientId = 'YOUR_USER_POOL_CLIENT_ID';
$region = 'YOUR_AWS_REGION';

Ensuite, instanciez le cognitoidentityproviderClient et configurez les informations d'identification:

 
$client = new CognitoIdentityProviderClient([
    'version' => 'latest',
    'region' => $region
]);

$client->setCredentials([
    'key' => 'YOUR_AWS_ACCESS_KEY_ID',
    'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
]);

Effectuer l'authentification de l'identité

Vous pouvez désormais utiliser Cognito pour l'authentification. L'extrait de code suivant montre comment s'authentifier avec AWS Cognito:

 
$result = $client->adminInitiateAuth([
    'UserPoolId' => $poolId,
    'ClientId' => $clientId,
    'AuthFlow' => 'ADMIN_NO_SRP_AUTH',
    'AuthParameters' => [
        'USERNAME' => 'testuser@example.com',
        'PASSWORD' => 'P@ssw0rd'
    ]
]);

var_dump($result);

Dans le code ci-dessus, nous utilisons la méthode `AdministliniateAuth 'pour l'authentification. Veuillez remplacer le nom d'utilisateur »et le« mot de passe »par le nom d'utilisateur et le mot de passe réels. Après une vérification réussie, «$ result» contiendra les résultats de validation.

en conclusion

Grâce à cet article, nous apprenons à intégrer AWS Cognito dans PHP pour l'authentification des utilisateurs sécurisée. En créant des pools d'utilisateurs, en configurant des clients et en utilisant du code PHP pour activer l'authentification, nous sommes en mesure de fournir de puissantes capacités de gestion des utilisateurs pour les applications. AWS Cognito est une solution simple et sécurisée qui améliore la sécurité et la fiabilité de vos applications.