programing

Cognito 사용자 풀 및 Wordpress 사용자(AWS에서 Wordpress에 서명)

newsource 2023. 2. 7. 20:00

Cognito 사용자 풀 및 Wordpress 사용자(AWS에서 Wordpress에 서명)

사용자 레지스트리에 Amazon Web Services 및 AWS 사용자 풀을 사용하는 애플리케이션이 있습니다.AWS 앱 사용자 / AWS User Pool 로그인 정보를 사용하여 Wordpress cms 사이트에 로그인하고 싶습니다.

이런 거 해본 사람 있어요?

무슨 생각 있어?

AWS SDK for PHP를 사용하여 아래 튜토리얼에 설명된 대로 인증 호출에 후크하는 워드프레스 플러그인을 작성함으로써 이러한 통합을 관리할 수 있습니다.

https://ben.lobaugh.net/blog/7175/wordpress-replace-built-in-user-authentication

플러그인에 AWS SDK for PHP 를 인스톨 하는 순서에 대해서는, 여기를 참조해 주세요(컴포저 지시에 따라서 조작했습니다).

https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html

그 후 사용자 풀 인증만을 취급하는 코드는 다음과 같습니다.

    require 'vendor/autoload.php';
    use Aws\CognitoIdentityProvider\CognitoIdentityProviderClient;
    $cognitoIdentityProviderClient = new CognitoIdentityProviderClient(['version' => '2016-04-18',
        'region'      => 'us-east-1',
        'credentials' => array(
            'key'    => get_option('aws_access_key_id'),
            'secret' => get_option('aws_secret_access_key')
        )]
    );

    $authResult = $cognitoIdentityProviderClient->adminInitiateAuth([
        'AuthFlow' => 'ADMIN_NO_SRP_AUTH',
        'UserPoolId' => get_option('cognito_userpoolid'),
        'ClientId' => get_option('cognito_clientid'),
        'AuthParameters' => ['USERNAME' => $username, 'PASSWORD' => $password],
    ]);

이것은 인증된 호출이므로 위의 코드에서 볼 수 있듯이 플레이스 홀더 aws_access_key_id 및 aws_secret_access_key에 대한 AWS 자격 증명이 필요합니다.다음은 PHP에서 자격 증명을 관리하기 위한 AWS 설명서에 대한 링크입니다.

http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/credentials.html

언급URL : https://stackoverflow.com/questions/47910819/cognito-user-pool-and-wordpress-users-signing-in-to-wordpress-with-aws