【发布时间】:2022-11-27 07:35:40
【问题描述】:
我使用 Streamlit (python) 和 AWS Cognito 构建了一个简单的应用程序。我设法设置了一个用户池并通过应用程序负载均衡器和 Fargate 访问了应用程序。
但是,虽然登录没问题,但我正在努力弄清楚如何实际注销。我找到了以下文档:https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html。我假设在地址栏中输入 https://<my-application>.ca-central-1.elb.amazonaws.com/logout?client_id=xxxxxxxxxxxxxxxxxx&logout_uri=https://myclient/logout/ 会导致注销,但我只收到 404 响应?
任何帮助将不胜感激。
【问题讨论】:
-
您必须在用户池客户端设置中注册注销 URL,就像您必须注册登录回调 URL 一样。你这样做了吗?
-
嗨@MarkB,感谢您的回复。我确实在该字段中添加了一个通用 URL (google.com),但理想情况下希望它只是返回到 Cognito 登录屏幕。我应该使用不同的地址调用来注销吗?
-
您需要 logout_uri 才能返回您的应用程序。如果你愿意,你可以从那里让你的应用程序立即再次触发登录过程,这完全取决于你如何配置你的应用程序。
-
@MarkB 我认为这是我不完全清楚的部分。由于应用程序只是一个单独的页面,仪表板使用 Streamlit 在其中运行,logout_uri 应该是什么?这只是负载均衡器的 DNS 地址吗?
-
是的,我猜是负载均衡器的 DNS 地址。我对 Streamlit 一无所知,但我假设如果它是一个 Python 网络应用程序,您应该能够检测到用户未登录,并启动 Cognito 登录过程。
标签: amazon-web-services amazon-cognito streamlit