2016-09-23 3 views
1

HttpContext.SessionGrantResourceOwnerCredentialsの方法で取得する必要があります。しかし、Httpcontext.Sessionにアクセスしようとするとnullになります。GrantResourceOwnerCredentialsのhttpcontext.sessionにアクセス

以下

は私のコードです:

public void ConfigureAuth(IAppBuilder app) 
{ 
    PublicClientId = "self"; 
    OAuthOptions = new OAuthAuthorizationServerOptions 
    { 
     TokenEndpointPath = new PathString("/Token"), 

     Provider = new ApplicationOAuthProvider(
     PublicClientId, 
     DependencyResolver.Current.GetService<ApplicationUserManager>(), 
     HttpContext.Current), 

     //AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), 

     AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(3), 

     // In production mode set AllowInsecureHttp = false 
     AllowInsecureHttp = true, 

     RefreshTokenProvider = new RefreshTokenProvider(
      DependencyResolver.Current.GetService<ApplicationDbContext>()) 
    }; 

    // Enable the application to use bearer tokens to authenticate users 
    app.UseOAuthBearerTokens(OAuthOptions); 
} 

私は私HttpContextセッション値を設定するSAMLを使用しますが、私は私のGrantResourceOwnerCredentials方法に再び再確認することをSession値する必要がありますが、セッションは常にnullであるしかし、ここに。

答えて

0

...私のGrantResourceOwnerCredentialsメソッドで[Session]の値をもう一度確認する必要があります。

GrantResourceOwnerCredentialメソッドのセッション値を確認することはお勧めできません。セッションは、要求に付属するクッキーに格納されます。トークンエンドポイントを介して要求が送信されるため、要求はCookieの改ざんから保護されません。つまり、悪意のあるユーザーがCookieを改ざんしてセッションを変更する可能性があります。

関連する問題