rde*_*per 6 wordpress amazon-web-services amazon-cognito
有些应用程序使用 Amazon Web Services 和 AWS 用户池作为用户注册表。我希望能够使用 AWS 应用程序的用户/AWS 用户池登录信息登录 Wordpress cms 站点。
有没有人做过这样的事情?
有什么想法吗?
您可以通过使用适用于 PHP 的 AWS 开发工具包并编写一个连接到身份验证调用的 wordpress 插件来管理此类集成,如下面的教程中所述:
https://ben.lobaugh.net/blog/7175/wordpress-replace-built-in-user-authentication
可以在此处找到将适用于 PHP 的 AWS 开发工具包安装到插件中的说明(我按照 Composer 说明进行操作):
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],
]);
Run Code Online (Sandbox Code Playgroud)
这是一个经过身份验证的调用,因此它需要 AWS 凭证,正如您在我上面的代码中看到的占位符 aws_access_key_id 和 aws_secret_access_key。这是用于在 PHP 中管理凭证的 AWS 文档的链接:
http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/credentials.html
| 归档时间: |
|
| 查看次数: |
4343 次 |
| 最近记录: |