2013-10-03 30 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

乔说什么。我会更新我的回答,以说明这一点。我只是需要它在开发中工作。 –