2014-12-03 5 views
0

OWIN을 쿠키 기반 인증과 함께 사용할 수없는 것으로 보입니다. 나는으로 시작 내 OWIN 토큰 엔드 포인트를 구성 :OWIN 쿠키 인증

OAuthOptions = new OAuthAuthorizationServerOptions 
{ 
    TokenEndpointPath = new PathString("/Token"), 
    Provider = new ApplicationOAuthProvider(PublicClientId), 
    AccessTokenExpireTimeSpan = TimeSpan.FromDays(14), 
    AllowInsecureHttp = true 
}; 
app.UseOAuthBearerTokens(OAuthOptions); 

또한 쿠키 인증 구성한 : 나는 /token 엔드 포인트를 쳤을 때 내가 응답 베어러 토큰을 얻을 이제

app.UseCookieAuthentication(new CookieAuthenticationOptions()); 

및 쿠키입니다 또한 토큰으로 클라이언트 쪽에서 설정됩니다.

다음으로 나는 Authorize 속성으로 장식 된 컨트롤러가 있습니다. 쿠키를 요청과 함께 보내지 만 모든 방법에 액세스하려고하면 401 Unauthorized 응답이 표시됩니다. OWIN이 인증을 위해 쿠키를 존중하지 않는 것 같습니다.

여기 몇 가지 구성이 누락 되었습니까? 베어러 토큰을 사용하여 Authorization 헤더를 설정하면이 모든 작업이 훌륭하게 수행되지만 쿠키와 함께 작동하지 않는 이유는 무엇입니까?

답변

3

누군가가 동일한 문제를 겪고있는 경우 WebApi 구성에서 다음 줄에서 쿠키를 무시하고 무기명 토큰을 살펴 보았습니다.

config.SuppressDefaultHostAuthentication(); 

주석 처리를 통해 쿠키 기반 인증 작업을 수행했습니다.