gpt4 book ai didi

javascript - 我如何从 AWS Cognito Api 获取机器到机器的 token

转载 作者:行者123 更新时间:2023-11-30 06:50:44 24 4
gpt4 key购买 nike

我试图通过 Cognito API 获取 token ,但失败了。我已经通读了他们的网站,但我很难理解他们含糊不清的示例。

我的目标是让第 3 部分服务在 api 上运行监控测试,这需要它进行身份验证并获取身份 token 和访问 token 。我正在使用 Cognito 的是/否部分,它们是用户池(最简单的一组)。

通过查看文档,https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-reference.html ,我不太了解流程。

如果我检查授权端点,它将使用 http GET 方法访问个人用户界面以手动输入信息。 (文档:https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html)

查看 token 端点,似乎我可以进行机器对机器操作,但它开始变得奇怪,因为文档 https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html ,声明我需要获得一个身份验证代码,这又回到了我写的关于授权端点的上一段。

谢谢,凯利

最佳答案

回答有点晚,但最近有同样的问题。实际上有一些文档可用于此用例,但可能不完整。所以我们正在寻找的是: https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html

要实现此功能,您需要 - 在设置用户池后 - 为您的服务器到服务器连接添加一个应用程序客户端。在用户池中转到应用程序客户端 enter image description here

并添加一个应用程序客户端,例如“我的后端服务1”

您可以为每个用户池添加多个应用程序客户端,因此您可能已经为 SPA 前端添加了另一个应用程序客户端,或者您想为不同的后端服务添加多个。

现在,应用程序客户端设置中的重要部分是启用了“生成客户端密码”——之后您无法更改它! enter image description here

接下来您需要设置您的域,您可以在其中从 aws 文档中描述的端点获取 token :enter image description here

然后在“App integration”下到resource servers,添加你要访问的资源服务器(App Client中定义的服务,就是授权成功后要访问这个资源服务器的服务器) enter image description here还要在此处添加一些范围,因为在 api 调用中将需要它(例如占位符中显示的 weather.read)

现在您已完成所有设置以测试您的端点,例如在 postman 中: enter image description here仔细检查 Headers 并确保在 Body 中设置这些键: enter image description here对于授权 header key ,请确保使用 Base64Encode(client_id:client_secret)。

然后你应该得到这样的响应 enter image description here

您现在可以在您的资源服务器中验证此 token ,如所描述的那样这里:How to verify JWT from AWS Cognito in the API backend?或在这里: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html

关于javascript - 我如何从 AWS Cognito Api 获取机器到机器的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51104636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com