【问题标题】:OpenId - have returnTo url requested with POST instead of GETOpenId - 使用 POST 而不是 GET 请求 returnTo url
【发布时间】:2010-02-04 14:46:45
【问题描述】:

如何实现,以便在某人使用其 openId 提供程序登录后使用 POST 而不是 GET 请求 returnTo url?

我有一个表格,必须有人登录才能使 POST 工作。当他们按下提交时,它会将他们重定向到登录页面并选择他们的 OpenID 提供程序。在成功选择并使用他们的 openID 提供者进行身份验证后,它会请求它最初尝试请求的页面,但使用 GET 除外。

【问题讨论】:

    标签: openid


    【解决方案1】:

    我认为这是不可能的。在这里我找到了一个相关的帖子:Response.Redirect with POST instead of Get?

    【讨论】:

      【解决方案2】:

      听起来您希望将身份验证响应发布到您的 RP,而不是使用 GET。 OpenID 规范不允许 RP 强制使用 POST 而不是 GET。事实上,通常认为 GET 比 POST 更可取,因为如果 OP 是 HTTPS 端点并且 RP 是 HTTP 端点,它会更快并且不会向用户弹出警告对话框。

      但我很想知道为什么您需要发布身份验证响应。是否因为您的 return_to URL 包含用户试图发布到 RP 的原始表单数据,而现在必须延迟到身份验证完成之后?如果是这样,我建议你重新考虑你的设计。考虑用户必须在表单上但在发布表单之前登录的用户体验。

      喜欢这个示例:http://samples.dotnetopenauth.net/v3.3/OpenIdRelyingPartyWebForms/ajaxlogin.aspx

      【讨论】:

      • 是的,你对包含原始表单数据的 return_to URL 是正确的,我会重新考虑我的设计。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 2013-09-24
      • 2018-10-29
      • 2020-11-12
      • 1970-01-01
      相关资源
      最近更新 更多