【发布时间】:2017-06-15 05:47:15
【问题描述】:
我正在从网络表单转换为 MVC。我的应用程序使用 oAuth (DevDefinedOauth)。
这里是 webforms 应用程序和 MVC 应用程序中使用的一些代码(我已经评论了 webforms response.redirect)。此代码在控制器 (MVC) 或 .CS 文件 (webforms) 内的受保护 void 方法中运行
var session = new OAuthSession(consumerContext, requestUrl, userAuthorizeUrl, accessUrl, callBackUrl);
// get a request token from the provider
IToken requestToken = session.GetRequestToken();
// generate a user authorize url for this token (which you can use in a redirect from the current site)
string authorizationLink = session.GetUserAuthorizationUrlForToken(requestToken, callBackUrl);
Session["oAuthSession"] = session;
Session["oAuthToken"] = requestToken;
//Old Response Redirect from Webforms
//Response.Redirect(authorizationLink);
Redirect(authorizationLink);
在 MVC 中,使用常规的 webforms response.redirect(已注释),它似乎工作,它带我到预期的授权页面(雅虎)但是它不太正确,因为一旦我接受了 oauth,页面崩溃时它返回到我自己的页面。
注意 - 如果我首先使用旧的 aspx 页面进行身份验证,然后转到使用 oauth 的控制器/操作,一切正常。 (可能是因为会话正在正确地存储/工作?)
我是 oauth 的新手。我很高兴它正在工作,即使我必须先使用 aspx 网站。有没有使用 MVC 的正确方法?
【问题讨论】:
标签: c# asp.net asp.net-mvc oauth response.redirect