Reactjs 从Axios访问AWS API网关
我正在尝试从Axios访问AWS API网关托管服务。使用AWS Amplify,我使用Auth.currentSession()获得一个令牌,它提供了一个CognitoIdToken。嵌入在该对象中的是jwtToken。我试图使用HTTP头中的jwtToken调用我的受保护服务(authorizer设置为AWS_IAM),尝试授权和x-api-key密钥,但都没有乐趣。给定CognitoIdToken/jwtToken,如何使用AWS_IAM的授权者调用AWS API网关服务?如果使用AWS_IAM身份验证,则需要将AWS SigV4与cognito用户获得的访问密钥、密钥和会话密钥一起使用,作为其授权的一部分Reactjs 从Axios访问AWS API网关,reactjs,amazon-web-services,aws-lambda,axios,Reactjs,Amazon Web Services,Aws Lambda,Axios,我正在尝试从Axios访问AWS API网关托管服务。使用AWS Amplify,我使用Auth.currentSession()获得一个令牌,它提供了一个CognitoIdToken。嵌入在该对象中的是jwtToken。我试图使用HTTP头中的jwtToken调用我的受保护服务(authorizer设置为AWS_IAM),尝试授权和x-api-key密钥,但都没有乐趣。给定CognitoIdToken/jwtToken,如何使用AWS_IAM的授权者调用AWS API网关服务?如果使用AWS_
如果您想使用cognito JWT作为身份验证机制,则需要更改代码以在API网关级别使用cognito身份验证 我一直在使用API网关和Cognito对我的Vuejs应用程序进行授权。您可以使用以下步骤轻松配置它
希望这有帮助。在API网关级别,我的选择是AWS_IAM或NONE,没有Cognito身份验证。如果我查看CognitoIdToken,有效负载不包含AWS SigV4以及您的访问密钥、密钥和会话密钥。好的,我明白您的意思。我需要创建一个CognitoAuthorizer,并将其分配给每个服务作为其授权机制。您不需要使用cognito用户。Postman能够单独使用访问密钥和密钥生成请求。我能够根据Chris的提示将所有请求连接起来。我现在唯一的问题是我想创建一个shell脚本,它将登录并返回JWT令牌。你的第二步要求我启动一个我希望避免的网页。
#set($inputRoot = $input.path('$'))
{
"cognitoUsername": "$context.authorizer.claims.email"
}