[英]AWS API-Gateway Authentication Headers required
這是我的情況:
通過Cognito具有UserPool和IdentityPool設置。 我還配置了一個API-Gateway終端節點以與AWS_AIM進行身份驗證。
首先,我使用用戶名和密碼將用戶登錄到Cognito UserPool。 我收到的答復是肯定的,看起來像下面這樣:
[AuthenticationResult] => Array
(
[AccessToken] => <AccessToken>
[ExpiresIn] => 3600
[TokenType] => Bearer
[RefreshToken] => <RefreshToken>
[IdToken] => <IdToken>
)
使用此信息,我授權用戶使用Cognito IdentityPool。 我收到的答復是肯定的,看起來像下面這樣:
[IdentityId] => <IdentityId>
[Credentials] => Array
(
[AccessKeyId] => <AccessKeyId>
[SecretKey] => <SecretKey>
[SessionToken] => <SessionToken>
[Expiration] => Aws\Api\DateTimeResult Object
(
[date] => 2018-06-15 09:11:32.000000
[timezone_type] => 1
[timezone] => +00:00
)
)
這就是我被困住的地方。 我需要以下標頭才能向API網關端點發出實際請求:
Authorization: AWS4-HMAC-SHA256
Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request,
SignedHeaders=host;range;x-amz-date,
簽名= fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
但是對於我一生,我找不到生成這些標頭的方法。 而且,針對Javascript和PHP的AWS開發工具包文檔集在具體做什么方面尚不清楚。 所以我的天才是我在某個地方錯過了一點。 是否有人知道如何正確生成這些標頭? 最好使用PHP。
我對PHP不太滿意,但是我知道您需要SignatureV4簽名的請求...這不是您要找的東西嗎? https://github.com/aws/aws-sdk-php/blob/master/src/Signature/SignatureV4.php#L42
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.