OpenId - 使用 POST 而不是 GET 请求 returnTo url

问题描述 投票:0回答:3

我如何做到这一点,以便在有人使用他们的 openId 提供商登录后使用 POST 而不是 GET 请求 returnTo url?

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

openid
3个回答
1
投票

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


1
投票

听起来您希望将身份验证响应发布到您的 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


0
投票

在您的要求中添加

response_mode=form_post

© www.soinside.com 2019 - 2024. All rights reserved.