2016-11-09 19 views
4

アイデンティティ・サーバー4でのログインに成功した後に、ユーザー・ブラウザーに送信されるクッキーの目的を説明することができます。また、私は3つの小さな関連する質問が底にあります。IdentityServer4のクッキー

クライアントは、Startup.csファイルで定義されているASP.NETコアでCookieミドルウェアを使用しています。

app.UseCookieAuthentication() 

これは、Identity Serverが作成されているASP.NETコア・ミドルウェアが作成するクッキーが、私はどのようなコンテンツ毎のクッキーcontaintsわからないトークンどのかなり明らかです。

ASP.NETコアミドルウェアは、おそらくクッキーサイズ(4050B + 865B)のためにチャンクCookieを作成することにしました。

私は、ASP.NETコアが提供するData Protection APIを使用して値を読み取るために、Cookieを復号化する方法を見つけようとしています。

  • idsvr.session
  • idsvr

    • .AspNetCore.coookie
    • .AspNetCore.coookieC1
    • .AspNetCore.coookieC2
    • .AspNetCore.Antiforgery。 Identity Serverのによって発行されたaccess_tokenは、id_tokenが含まれているクッキー

    Screenshot from developer tools in Internet Explorer

    1. CookieNameを使用して、ASP.NETコアミドルウェアによって作成されたCookieの名前を変更することができます。異なるクライアントが同じCookie名を共有するか、別々のセッションCookieを持つ必要がありますか?
    2. Data Protection APIを使用してIdentity ServerのCookieを復号化できますか?
  • 答えて

    0
    1. 私の知る限りid_token、access_tokenは、デフォルトではクッキーに保存されていません。しかし、必要に応じてセッションクッキー(ASP.NET Coreミドルウェアで作成されたクッキー)に格納することができます。 OpenIDを使用するハイブリッド・フローを使用するアイデンティティ・サーバー3用のHere is how it is doneは、OWINミドルウェアを接続します。 asp.netコアミドルウェアにも同様のオプションが必要です。

    2. 各クライアントは同じCookie名を持つことができますが、必須ではありません。 BY THE WAYでは、クッキーはそのクッキーを作成したクライアントによってのみアクセス可能です。

    3. わかりません。