2016-11-10 7 views
1

私は以下のようなOpenIDを接続し、クッキー認証のための2つのASP.NETコア・ミドルウェアを使用しています:クッキー

app.UseCookieAuthentication(new CookieAuthenticationOptions 
{ 
    AuthenticationScheme = "cookie", 
    CookieName = "clientcookiename", 
    CookieHttpOnly = true, 
    CookieSecure = _hostingEnvironment.IsDevelopment() ? CookieSecurePolicy.SameAsRequest : CookieSecurePolicy.Always, 
    AutomaticAuthenticate = true, 
    AutomaticChallenge = false, 
    ExpireTimeSpan = TimeSpan.FromMinutes(60) 
}); 

var oidcOptions = new OpenIdConnectOptions 
{ 
    AuthenticationScheme = "oidc", 
    SignInScheme = "cookie",     
    ... 
}; 
app.UseOpenIdConnectAuthentication(oidcOptions); 

ログイン時にはウェブでアプリケーションこれは、次のようになりナンスとの相関関係に関連するいくつかのデフォルトのクッキー(私のブラウザの開発者ツールからエクスポート)になり:

{ 
    "domain": "localhost", 
    "expirationDate": 1478762475.872038, 
    "hostOnly": true, 
    "httpOnly": true, 
    "name": ".AspNetCore.OpenIdConnect.Nonce.CfDJ...ihRRfQid0Rw", 
    "path": "/", 
    "sameSite": "no_restriction", 
    "secure": false, 
    "session": false, 
    "storeId": "0", 
    "value": "N", 
    "id": 1 
    }, 
    { 
    "domain": "localhost", 
    "expirationDate": 1478762474.872093, 
    "hostOnly": true, 
    "httpOnly": true, 
    "name": ".AspNetCore.Correlation.oidc.Apx...XlCFhuc...Hcq8", 
    "path": "/", 
    "sameSite": "no_restriction", 
    "secure": false, 
    "session": false, 
    "storeId": "0", 
    "value": "N", 
    "id": 2 
    } 
  1. これらのクッキーの責任とは何ですか?
  2. これらのCookieのCookieNameはどのように変更しますか?
  3. これらのCookieのCookieNameを変更すると、他の場所で影響がありますか?

答えて

0

implemented

oidcOptions.NonceCookie = new CookieBuilder() { Name = "TheNonceCookieName" };

2

これらのクッキーの責任は?

XSRF /セッション固定攻撃とリプレイ攻撃を防止するために、相関クッキーとナンスクッキーがそれぞれ使用されます。これらは、OpenID Connectミドルウェアで使用されるセキュリティチェックの重要な部分です。

どのようにこれらのCookieのCookieNameを変更しますか?

できません。いずれの場合も、Cookie名は設定可能ではありません(ハードコーディングされた部分が前に付いています)。

関連するコードはここで見つけることができます:

+0

回答ありがとうございました。また、ソースコードを指し示す+1もありました。それは、私たちは、これらのクッキーの名前を変更することはできません、なぜハードコードこれを公開し、WebアプリケーションがASP.NETコアを使用していることを公開しますか? –

+0

私は「誰もそれを設定するオプションをまだ求めていません」という単純なことをしています:) – Pinpoint

+0

私は問題を作成しましたhttps://github.com/aspnet/Security/issues/1033 –