Es gibt Anwendungen, die Amazon Web Services und AWS User Pool für die Benutzerregistrierung verwenden. Ich möchte mich mit den Benutzer-/AWS-Benutzerpool-Anmeldeinformationen der AWS-App bei der WordPress-CMS-Site anmelden können.
Hat jemand so etwas gemacht?
Irgendwelche Gedanken?
Sie können eine solche Integration verwalten, indem Sie das AWS SDK für PHP verwenden und ein WordPress-Plug-in schreiben, das sich in den Authentifizierungsaufruf einklinkt, wie im folgenden Tutorial beschrieben:
https://ben.lobaugh.net/blog/7175/wordpress-replace-built-in-user-authentication
Anweisungen zum Installieren des AWS SDK for PHP in Ihrem Plugin finden Sie hier (ich habe die Composer-Anweisungen befolgt, damit es funktioniert):
https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html
Danach wäre ein Codeabschnitt, der sich nur mit der Authentifizierung von Benutzerpools befasst, wie folgt:
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],
]);
Dies ist ein authentifizierter Aufruf, daher sind AWS-Anmeldeinformationen erforderlich, wie Sie in meinem obigen Code für die Platzhalter aws_access_key_id und aws_secret_access_key sehen können. Hier ist ein Link zur AWS-Dokumentation zum Verwalten von Anmeldeinformationen in PHP:
http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/credentials.html