2013-10-03 65 views
4

我用不能讓 'UseOAuthBearerTokens' 與Owin和身份RTM

app.UseOAuthBearerTokens(OAuthOptions); 

var options = new OAuthAuthorizationServerOptions 
{ 

    TokenEndpointPath = new Microsoft.Owin.PathString("/Token"), 
    AuthorizeEndpointPath = new Microsoft.Owin.PathString("/api/Account/ExternalLogin"), 
    Provider = new ApplicationOAuthProvider<CampusDaysUser>(PublicClientId, IdentityManagerFactory, CookieOptions) 
}; 

但網址http://example.com/Token/返回錯誤的工作:

The resource cannot be found.

回答

5
OAuthOptions = new OAuthAuthorizationServerOptions 
    { 
     TokenEndpointPath = new Microsoft.Owin.PathString("/Token"), 
     AllowInsecureHttp = true, 
     AuthorizeEndpointPath = new Microsoft.Owin.PathString("/api/Account/ExternalLogin"), 
     Provider = new ApplicationOAuthProvider<CampusDaysUser>(PublicClientId, IdentityManagerFactory, CookieOptions) 
    }; 

需要設置允許http現在得到它工作NG。閱讀評論,這應該只在開發中完成。 生產你應該得到一個證書,並使用SSL

+0

這不是一個危險的建議嗎?如果我理解正確,這可以讓不安全的通信獲得令牌,這是我無法想象的對安全性有益的。 – angularsen

+1

AllowInsecureHttp僅用於開發目的。在生產系統中,建議使用SSL來確保令牌不被明確傳遞。 –

+0

喬說什麼。我會更新我的回答,以說明這一點。我只是需要它在開發中工作。 –