gpt4 book ai didi

asp.net-mvc - 如何在 Janrain RPX 中获取 "return url"

转载 作者:行者123 更新时间:2023-12-02 19:37:49 25 4
gpt4 key购买 nike

如何使用 Janrain RPX 登录获取之前的 url?

我正在使用 Asp.Net MVC 来请求。

最佳答案

当匿名用户浏览到安全 View 时,asp.net 会自动将他们重定向到登录页面并将 ReturnUrl 放入查询字符串中。您可以通过将 ReturnUrl 附加到 RPX 登录中使用的 token_url 来保留 ReturnUrl。

这是我创建的帮助程序,用于在登录页面上为 RPX iframe 生成正确的 href:

public static string RpxSignInUrl(this HtmlHelper htmlHelper)
{
string returnUrl = FormsAuthentication.GetRedirectUrl(
String.Empty, // userName (not used, but cannot be null)
false); // persistent cookie (also ignored)

string tokenUrl = "http://<your-domain>/Account/RpxResponse?ReturnUrl=" +
HttpUtility.UrlEncode(returnUrl);

string realm = "<your-app-id>.rpxnow.com";
string signInUrl = String.Format(
CultureInfo.InvariantCulture,
"http://{0}/openid/embed?token_url={1}",
realm,
HttpUtility.UrlEncode(tokenUrl));

return signInUrl;
}

用户验证后,RPX 将调用此 url,其中现在包含原始 ReturnUrl。您可以再次使用 FormsAuthentication.GetRedirectUrl 来检索返回 URL。

请注意,使用此 API 很重要,而不仅仅是从 Request.Querystring 集合中获取值,因为它会验证返回 URL,确保其来自同一域。如果该 url 被认为不安全,asp.net 将回退到 web.config 中的 forms 元素上指定的 defaultUrl 属性。

关于asp.net-mvc - 如何在 Janrain RPX 中获取 "return url",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3470707/

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