2017-06-15 46 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