teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2021/03/03 03:42

投稿

退会済みユーザー
answer CHANGED
@@ -10,4 +10,22 @@
10
10
 
11
11
  ということになったのだと思います。それ以外に原因は思い当たりません。Set-Cookie がどうなっているか調べてみてください。
12
12
 
13
- ちなみに、有効期限 expires=... が指定されている場合はブラウザはクッキーを HDD に保存します。なので、ブラウザを閉じたり PC をシャットダウンしたりしても、再度ブラウザを立ち上げてアクセスすれば、ブラウザはクッキーを HDD から取得してサーバーに送ります。(有効期限内であればの話です)
13
+ ちなみに、有効期限 expires=... が指定されている場合はブラウザはクッキーを HDD に保存します。なので、ブラウザを閉じたり PC をシャットダウンしたりしても、再度ブラウザを立ち上げてアクセスすれば、ブラウザはクッキーを HDD から取得してサーバーに送ります。(有効期限内であればの話です)
14
+
15
+ **【追記】**
16
+
17
+ 何故 ASP.NET Core Identity を使わないで独自認証を実装しているのか分かりませんが、もし知らなかったということなら方針変更して ASP.NET Core Identity を使ってはいかがですか?
18
+
19
+ テンプレートで生成されるアプリの Login ページには下の画像のように Remember me? チェックボックスが配置されていて、それにチェックを入れてログインすれば認証クッキーに expires=... が設定されるようになっています。
20
+
21
+ ![イメージ説明](a50a5a5b3abf2a1b9317576f2ca4fa02.jpeg)
22
+
23
+ 応答ヘッダに含まれる Set-Cookie は以下のようになり、別途設定できる認証チケットの有効期間で expires=... が追加されます。
24
+
25
+ ```
26
+ Set-Cookie: .AspNetCore.Identity.Application=CfD...; expires=Wed, 03 Mar 2021 03:28:45 GMT; path=/; secure; samesite=lax; httponly
27
+ ```
28
+
29
+ Remember me? チェックボックスにチェックを入れないでログインした場合は expires=... は設定されないので、ブラウザを閉じればクッキーは消えます。
30
+
31
+ どうしても独自実装という場合は、それにも同様な機能を実装してはいかがですか。

2

訂正

2021/03/03 03:42

投稿

退会済みユーザー
answer CHANGED
@@ -10,4 +10,4 @@
10
10
 
11
11
  ということになったのだと思います。それ以外に原因は思い当たりません。Set-Cookie がどうなっているか調べてみてください。
12
12
 
13
- ちなみに、有効期限 expires=...; が指定されている場合はブラウザはクッキーを HDD に保存します。なので、ブラウザを閉じたり PC をシャットダウンしたりしても、再度ブラウザを立ち上げてアクセスすれば、ブラウザはクッキーを HDD から取得してサーバーに送ります。(有効期限内であればの話です)
13
+ ちなみに、有効期限 expires=... が指定されている場合はブラウザはクッキーを HDD に保存します。なので、ブラウザを閉じたり PC をシャットダウンしたりしても、再度ブラウザを立ち上げてアクセスすれば、ブラウザはクッキーを HDD から取得してサーバーに送ります。(有効期限内であればの話です)

1

訂正

2021/03/03 02:23

投稿

退会済みユーザー
answer CHANGED
@@ -1,8 +1,8 @@
1
1
  > COOKIEに保存する内容はログイン情報のIDの文字列で例えば"XXX"です。下記のコードで設定と取得を行っています。
2
2
 
3
- クッキーに有効期限を設定してない(即ち、Set-Cookie: に expires=...; が指定されてない)ようですね。
3
+ クッキーに有効期限を設定してない(即ち、Set-Cookie: に expires=... が指定されてない)ようですね。
4
4
 
5
- その場合、クッキーはブラウザのメモリにしか保持されません。従って、ブラウザを閉じればクッキーは消えます。逆に、ブラウザを閉じなければ認証クッキーは消えません。要求のたびに送られ続けます。
5
+ その場合、クッキーはブラウザのメモリにしか保持されません。従って、ブラウザを閉じればクッキーは消えます。逆に、ブラウザを閉じなければクッキーは消えません。要求のたびに送られ続けます。
6
6
 
7
7
  それゆえ、
8
8