gpt4 book ai didi

c# - AWS Cognito 内置登录重定向问题

转载 作者:行者123 更新时间:2023-12-05 08:51:59 25 4
gpt4 key购买 nike

我正在尝试将 Cognito 内置登录逻辑整合到我们的工作流程中。这是我尝试投入使用的场景:通过已在用户池中创建的用户的 Cognito 内置 UI 成功登录后,我需要重定向到特定 URI。但我不明白该怎么做。我已经创建了用户池、应用程序客户端、配置的域、提供的回调 url、创建了一个用户。

我将“允许的 OAuth 流程”配置为使用授权代码授予“允许的 OAuth 范围”设置为 openid到目前为止,一切都很好。然后我想出了以下 URL 来唤起 Cognito 内置 UI:

https://<my-domain>.amazoncognito.com/authorize?response_type=code&client_id=<my-client-id>&redirect_uri=https://<my-domain>.amazoncognito.com/login?client_id=<my-client-id>

在我选择的浏览器中执行它后,我点击了 Cognito 内置登录页面。但是在单击“登录”按钮后,出现错误:Required String parameter 'redirect_uri' is not present

好吧,我心想,让我们在上述 URL 的末尾添加 redirect_uri 属性,这样路径就会成功,但这种乐观情绪是短暂的。我很害怕:“redirect_mismatch”错误。我尝试提供多个回调 url,但没有成功。 redirect_mismatch 错误挡住了我的路。

现在我不知道如何指示 Cognito 重定向到所需的 url。欢迎任何想法。

最佳答案

您不应将“redirect_uri”设置为 Cognito 的登录端点。这个不成立。 “redirect_uri”是一个参数,用于告诉 Cognito 在登录后将用户带到哪里,这将是您的应用程序的 url。

出于安全原因,'redirect_uri'应该完全匹配您为应用程序客户端配置的回调 URI 之一,否则您将收到“redirect_mismatch”错误。

访问登录端点:

https://mydomain.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI

对于授权端点:

https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI

授权端点首先检查您是否有表明您已经登录的 session cookie,如果是,它会自动将您重定向到 redirect_uri,否则它将通过登录将您带到登录页面带有提供给授权端点的查询字符串的端点。

关于c# - AWS Cognito 内置登录重定向问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57937576/

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