Javascript 如何使用AWS Cognito对API网关进行身份验证
我在API网关中开发了一个GraphQLAPI。我希望我的用户能够调用这个api,并在他们自己的应用程序中使用它。然而,数据是敏感的,我想使用Cognito对用户进行身份验证。 我有几个问题 1) 由于没有可供用户登录的“应用程序”,用户如何能够接收令牌,以便进行身份验证和查询API 2) 我相信代币每小时都会过期。我想这可能会让一些客户的开发人员感到沮丧,我可以为他们提供什么建议来处理每小时更新令牌的问题 3) 在阅读完文档之后,()-似乎我需要使用“Amazon Cognito CLI/SDK或API将用户登录到所选的用户池,并获取身份令牌或访问令牌…”单击“SDK”会导致github repo。github repo表示SDK将不再开发,现在是AWS AmplifyJavascript 如何使用AWS Cognito对API网关进行身份验证,javascript,amazon-web-services,jwt,aws-api-gateway,amazon-cognito,Javascript,Amazon Web Services,Jwt,Aws Api Gateway,Amazon Cognito,我在API网关中开发了一个GraphQLAPI。我希望我的用户能够调用这个api,并在他们自己的应用程序中使用它。然而,数据是敏感的,我想使用Cognito对用户进行身份验证。 我有几个问题 1) 由于没有可供用户登录的“应用程序”,用户如何能够接收令牌,以便进行身份验证和查询API 2) 我相信代币每小时都会过期。我想这可能会让一些客户的开发人员感到沮丧,我可以为他们提供什么建议来处理每小时更新令牌的问题 3) 在阅读完文档之后,()-似乎我需要使用“Amazon Cognito CLI/SD
这里有没有我遗漏的逻辑漏洞?Amplify是AWS提供的一个完整的应用程序创建解决方案。因此,您开发Amplify应用程序的客户将使用AWS Amplify Cognito SDK。Web应用程序和其他应用程序将使用不同的库,或者只发布到您的cognito auth端点 不管它们是如何到达您的cognito用户池的,您需要做的第一件事就是创建您的用户池,并在ApiGateway Api中创建一个授权者,然后在cognito中选择您希望它使用的用户池。然后在资源中选择它以授权该特定资源 创建用户池后,从用户池内部,在左侧菜单上,应该有一个“应用程序集成>域名”部分。在这里,您可以获得您的用户池身份验证公共域,或分配一个自定义域(您必须在dns中进行设置,并将其分别连接到SSL证书)。这是客户端应用程序将调用以获取身份验证令牌的端点 此过程因您使用的身份验证流而异。但出于说明目的,例如,对于客户端凭据身份验证流,您的客户端应用程序将:
authorization:Basic
。这将返回一个Cognito签名的JWT(JSON Web令牌)