OpenID:未经身份验证的帖子在身份验证后变为GET

OpenID:未经身份验证的帖子在身份验证后变为GET,openid,Openid,我正在为我的应用程序试用OpenID Connect,但有一个特定的工作流我一直无法支持 我有一个“添加到购物车”按钮,它向HTTP服务器发出POST请求。如果用户未通过身份验证,则用户将转到身份提供程序进行身份验证。但是,在用户经过身份验证后,身份提供商使用GET将浏览器重定向到redirect\u uri,这意味着我的应用程序将丢失用户想要购买的商品的上下文 我能想到的唯一选择是在用户登录之前隐藏“添加到购物车”按钮,但这似乎是OpenID的一个重要限制。还有其他解决方案吗?重定向总是会变成

我正在为我的应用程序试用OpenID Connect,但有一个特定的工作流我一直无法支持

我有一个“添加到购物车”按钮,它向HTTP服务器发出
POST
请求。如果用户未通过身份验证,则用户将转到身份提供程序进行身份验证。但是,在用户经过身份验证后,身份提供商使用
GET
将浏览器重定向到
redirect\u uri
,这意味着我的应用程序将丢失用户想要购买的商品的上下文


我能想到的唯一选择是在用户登录之前隐藏“添加到购物车”按钮,但这似乎是OpenID的一个重要限制。还有其他解决方案吗?

重定向总是会变成GET请求,在重定向的情况下,没有办法保留帖子的正文。所以你能做的事情很少

  • 显示登录名而不是添加到购物车

  • 登录重定向URI应该有一个get请求,该请求指向具有足够信息的特殊添加到购物车URL。因此,基本上是一个额外的GET端点,而不是将产品添加到购物车的POST

  • 允许购物车在未经身份验证的情况下进行管理,这是大多数电子商务解决方案所能做到的

  • 如果用户未通过身份验证,则用户将转到身份提供程序进行身份验证

    这是您丢失POST信息的第一个重定向


    因此,当决定必须重定向用户时,您需要在会话中存储POST数据,并在用户登录后提取这些数据。

    是的,我在发布问题后想到将POST信息存储在Cookie中。我还没有测试过它,但我不明白为什么它不起作用。谢谢