如果使用POST而不是GET请求某人使用openId提供程序登录后,如何设置returnTo url?
我有一个表格,必须有人登录才能使POST工作。当他们按提交时,它会将它们重定向到登录页面,然后他们选择他们的OpenID提供者。成功选择并使用其openID提供程序进行身份验证后,它会请求最初尝试请求的页面,但GET除外。
答案 0 :(得分:1)
我认为不可能。在这里,我找到了一个相关的帖子:Response.Redirect with POST instead of Get?
答案 1 :(得分:1)
听起来您希望将身份验证响应发布到您的RP而不是GET。 OpenID规范不允许RP强制命令POST而不是GET。实际上,GET通常被认为比POST更好,因为它更快,如果OP是HTTPS端点且RP是HTTP端点,则不会向用户弹出警告对话框。
但我很想知道为什么你需要对POST进行身份验证响应。是因为您的return_to URL包含用户尝试发布到RP的原始表单数据,现在必须延迟,直到身份验证完成后?如果是这样,我建议你重新考虑你的设计。考虑用户体验,用户必须在表单上登录,但在发布表单之前。
喜欢此示例:http://samples.dotnetopenauth.net/v3.3/OpenIdRelyingPartyWebForms/ajaxlogin.aspx