현재 위치: > 최신 기사 목록> AWS Cognito를 사용하여 PHP에서 안전한 검증을 구현하는 방법

AWS Cognito를 사용하여 PHP에서 안전한 검증을 구현하는 방법

M66 2025-06-12

AWS Cognito를 통한 PHP 보안 검증

AWS Cognito는 개발자가 응용 프로그램의 사용자 관리 및 인증 기능을 쉽게 구현할 수 있도록 강력한 인증 및 인증 서비스입니다. 이 기사에서는 AWS Cognito를 사용하여 PHP와 통합하여 보안 검증을 구현하고 코드 예제와 함께 구현 프로세스를 자세히 설명하는 방법을 보여줍니다.

전제 조건

시작하기 전에 다음과 같은 전제 조건을 충족해야합니다.

  1. 유효한 AWS 계정이 있으며 AWS CLI (명령 줄 도구)에 액세스 할 수 있습니다.
  2. AWS Cognito Service는 구성 및 활성화되었습니다.

1 단계 : 사용자 풀 생성

먼저 AWS Cognito에서 사용자 풀을 만들어 사용자 자격 증명을 저장하고 관리합니다. AWS CLI 또는 AWS 관리 콘솔을 사용하여 사용자 풀을 만들 수 있습니다. 다음은 AWS CLI를 사용하여 사용자 풀을 만드는 예제 명령입니다.

 
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

이 명령은 "myuserpool"이라는 사용자 풀을 생성하고 이메일 확인을 활성화하며 암호는 지정된 규칙을 충족해야합니다.

2 단계 : 사용자 풀 클라이언트를 설정합니다

다음으로 응용 프로그램이 Cognito 사용자 풀과 상호 작용하려면 사용자 풀 클라이언트를 만들어야합니다. 이것은 AWS CLI 또는 관리 콘솔을 통해 수행 할 수 있습니다. 다음은 AWS CLI를 사용하여 사용자 풀 클라이언트를 생성하기위한 예제 명령입니다.

 
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

이 명령은 "MyUserPoolClient"라는 사용자 풀 클라이언트를 생성하고 30 일의 유효 기간이있는 새로 고침 토큰을 통한 인증을 허용합니다.

3 단계 : 인증을 구현하기위한 PHP 코드

사용자 풀과 클라이언트를 설정 했으므로 PHP 코드를 작성하여 사용자 인증을 구현할 수 있습니다. 먼저 PHP 용 AWS SDK를 소개해야합니다. Composer를 통해 설치하거나 SDK 소스 코드를 직접 다운로드하여 소개 할 수 있습니다.

 
require 'vendor/autoload.php'; // 소개 AWS SDK for PHP 파일을 자동으로로드합니다
use Aws\CognitoIdentityProvider\CognitoIdentityProviderClient;

다음으로 AWS Cognito 액세스 자격 증명을 구성하십시오. 실제 값에 대한 다음 코드로`your_user_pool_id`,`your_user_pool_client_id` 및`your_aws_region`을 대체하십시오.

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

그런 다음 CognitoIdentityProviderClient를 인스턴스화하고 자격 증명 정보를 구성하십시오.

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

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

신원 인증을 수행하십시오

이제 인증을 위해 Cognito를 사용할 수 있습니다. 다음 코드 스 니펫은 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);

위의 코드에서는 인증에 'adminiNitiateAuth'메소드를 사용합니다. 'username'및 'password' '를 실제 사용자 이름 및 비밀번호로 바꾸십시오. 성공적인 확인 후`$ result '에는 검증 결과가 포함됩니다.

결론적으로

이 기사를 통해 보안 사용자 인증을 위해 AWS Cognito를 PHP에 통합하는 방법을 배웁니다. 사용자 풀을 만들고 클라이언트 설정 및 PHP 코드를 사용하여 인증을 가능하게함으로써 응용 프로그램에 강력한 사용자 관리 기능을 제공 할 수 있습니다. AWS Cognito는 응용 프로그램의 보안 및 신뢰성을 향상시키는 간단하고 안전한 솔루션입니다.