繁体   English   中英

如果我使用 OPENID_CONNECT 身份验证类型和身份池联合,Amplify 是否会自动签署 AppSync 请求?

[英]Will Amplify automatically sigv4 sign an AppSync request if I use OPENID_CONNECT authentication type and Identity Pool Federation?

我想使用 Amplify 客户端连接到 AppSync 服务。 我想将 IAM_AUTH 用于 AppSync,并将我的 OIDC 登录联合到 Cognito 身份池(我建立了从池到 OIDC 提供商的信任关系)。

Amplify 文档提到了如何跳过用户池,并将 go 直接转到身份池。 但是,它没有提及请求是否会自动进行 SigV4 签名。

Amplify 文档在其他地方提到,如果您使用 Cognito 用户池和身份池,请求将自动进行 sigv4 签名。

如果跳过用户池,Amplify 是否仍会自动对请求进行 sigv4 签名? 如果没有,您将如何配置 Amplify 来签署请求?

谢谢

如果 AWS 凭证可用,Amplify 似乎会自动对 GraphQL 请求进行 sigv4 签名。

看起来请求中设置了某种 header:

如果将身份验证类型设置为 AWS_IAM,则会调用 _ensureCredentials:

https://github.com/aws-amplify/amplify-js/blob/main/packages/api-graphql/src/GraphQLAPI.ts#L141

使用 this.Credentials.get() 检查凭据

https://github.com/aws-amplify/amplify-js/blob/main/packages/api-graphql/src/GraphQLAPI.ts#L141

Auth class使用Credentials模块,currentCredentials() function会调用credentials.get():

https://github.com/aws-amplify/amplify-js/blob/main/packages/auth/src/Auth.ts#L1920

如果您检查Amplify Auth0 示例,我认为 Auth.currentCredentials() 将返回当前的 AWS 凭证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM