2017-06-15 60 views
0

Im从webforms转换为MVC。我的应用使用oAuth(DevDefinedOauth)。使用Oauth的MVC中的response.Redirect替换

这里是webforms应用程序和MVC应用程序中使用的一些代码(我已经评论过webforms response.redirect)。此代码控制器(MVC)内的保护无效方法或.CS文件中运行(web表单)

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中,使用常规的web表单的Response.Redirect(评论),似乎工作,它带我到已过期的授权页面(雅虎),但它并不完全正确,因为一旦我接受oauth,页面就会在返回到我自己的页面时崩溃。注意 - 如果我首先使用旧的aspx页进行身份验证,那么请转到使用oauth的控制器/操作,一切正常。 (可能是因为会话存储/工作p0roperly?)

我是新来oauth。我很高兴它正在工作,即使我必须先使用aspx网站。有没有正确的方法来使用MVC做到这一点?

回答

0

如果您正在寻找在MVC和Web API实现的OAuth,请参考下面的计算器链接来实现在现有代码的OAuth

How to implement oauth2 server in ASP.NET MVC 5 and WEB API 2

+0

我觉得链接介绍如何使用,以确保自己的服务器OAuth的?我正尝试使用Oauth拨打雅虎的API。如前所述,它在webforms中工作,我遇到了使用MVC的困难 – dave317