好的。这是我的东西。
我们正在Lumen/Laravel之上构建一个小型应用程序。我们需要用户管理完全照顾AWS认知。
基本上有两个简单的功能。
我们需要使用PHP来完成这个任务。
现在的问题是,我无法找到任何具有清晰过程或示例的PHP文档。科尼图只为Android、IOS、JS、提供API。我需要类似的PHP文档。
对于上面的两个特性,是否有人用了一个使用PHP的认知API的工作示例。
注意:我几乎花了超过一天半的时间来研究是否以及如何做到这一点。所以,请不要给我任何链接,出现在你的谷歌搜索第一或第二。很有可能我已经看到这种联系没有运气。
任何帮助都将不胜感激。
发布于 2016-08-31 01:39:29
不幸的是,没有PHP的工作示例。目前,Cognito支持您提到的那些高级SDK,但不支持PHP的高级SDK。底层SDK可以通过调用下面提到的API来使用。
http://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentityProvider.CognitoIdentityProviderClient.html
下面的示例应该使用一些转换到PHP的方法,就像这个SDK https://github.com/aws/aws-sdk-android/blob/master/aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/mobileconnectors/cognitoidentityprovider/CognitoUser.java中的大多数代码一样。
您可能不需要调用InitiateAuth,而是使用ADMIN_NO_SRP_AUTH参数调用AdminInitiate auth,这样就不需要在ADMIN_NO_SRP_AUTH中进行SRP计算。高级别的SDK为您提供了一个包装器来管理这个计算,但是单独完成它是相当困难的。
发布于 2018-08-23 09:52:06
为了能够使用任何API请求,首先需要正确设置凭据。在服务器端和EC2实例之外,您将需要提供AWS访问密钥和AWS秘密访问密钥、应用程序客户端ID、ACCESS秘密和用户池id,如下所示
$args = [
'credentials' => [
'key' => 'AAAAAAAAAA',
'secret' => 'abacaaswfas',
],
'region' => 'eu-central-1',
'version' => 'latest',
'app_client_id' => '3asd123adfs1231sdfs',
'app_client_secret' => '1sdf123sdfs123sdfsfsdf132fd3213',
'user_pool_id' => 'eu-central-1_aaaW2Df3',
]否则,您将看到所有可能的错误,直到您得到适当的ID到位。
要获得AWS访问密钥& AWS秘密访问密钥转到您的AWS控制台,单击您的名称然后转到帐户,然后再单击您的名称,转到'My security凭据‘,然后我想您会找到出路的。
要获得,,您需要先创建您的用户池,然后转到并创建一个。(您可以在常规设置下找到池id )
一个简单的登录查询
$client = new CognitoIdentityProviderClient($args);
$client->adminInitiateAuth([
'AuthFlow' => 'ADMIN_NO_SRP_AUTH',
'AuthParameters' => [
'USERNAME' => YOUR_USERNAME_HERE,
'PASSWORD' => YOUR_PASS_HERE,
'SECRET_HASH' => , base64_encode(hash_hmac('sha256', YOUR_USERNAME_HERE . APP_CLIENT_ID, APP_CLIENT_SECRET, true))
],
'ClientId' => APP_CLIENT_ID,
'UserPoolId' => USER_POOL_ID,
]);如果您让它工作,您应该能够使用文档这里中列出的任何操作。
注意:在使用API2016-04-18和PHP7.1时,请确保您使用的是相同的版本,或者至少在假设此版本对您有用之前,API中没有任何重大更改。
注2:我使用的Id完全是随机的。但它们应该有相同的格式。
https://stackoverflow.com/questions/39160321
复制相似问题