回答編集履歴

3

追記

2021/03/03 03:42

投稿

退会済みユーザー
test CHANGED
@@ -23,3 +23,39 @@
23
23
 
24
24
 
25
25
  ちなみに、有効期限 expires=... が指定されている場合はブラウザはクッキーを HDD に保存します。なので、ブラウザを閉じたり PC をシャットダウンしたりしても、再度ブラウザを立ち上げてアクセスすれば、ブラウザはクッキーを HDD から取得してサーバーに送ります。(有効期限内であればの話です)
26
+
27
+
28
+
29
+ **【追記】**
30
+
31
+
32
+
33
+ 何故 ASP.NET Core Identity を使わないで独自認証を実装しているのか分かりませんが、もし知らなかったということなら方針変更して ASP.NET Core Identity を使ってはいかがですか?
34
+
35
+
36
+
37
+ テンプレートで生成されるアプリの Login ページには下の画像のように Remember me? チェックボックスが配置されていて、それにチェックを入れてログインすれば認証クッキーに expires=... が設定されるようになっています。
38
+
39
+
40
+
41
+ ![イメージ説明](a50a5a5b3abf2a1b9317576f2ca4fa02.jpeg)
42
+
43
+
44
+
45
+ 応答ヘッダに含まれる Set-Cookie は以下のようになり、別途設定できる認証チケットの有効期間で expires=... が追加されます。
46
+
47
+
48
+
49
+ ```
50
+
51
+ Set-Cookie: .AspNetCore.Identity.Application=CfD...; expires=Wed, 03 Mar 2021 03:28:45 GMT; path=/; secure; samesite=lax; httponly
52
+
53
+ ```
54
+
55
+
56
+
57
+ Remember me? チェックボックスにチェックを入れないでログインした場合は expires=... は設定されないので、ブラウザを閉じればクッキーは消えます。
58
+
59
+
60
+
61
+ どうしても独自実装という場合は、それにも同様な機能を実装してはいかがですか。

2

訂正

2021/03/03 03:42

投稿

退会済みユーザー
test CHANGED
@@ -22,4 +22,4 @@
22
22
 
23
23
 
24
24
 
25
- ちなみに、有効期限 expires=...; が指定されている場合はブラウザはクッキーを HDD に保存します。なので、ブラウザを閉じたり PC をシャットダウンしたりしても、再度ブラウザを立ち上げてアクセスすれば、ブラウザはクッキーを HDD から取得してサーバーに送ります。(有効期限内であればの話です)
25
+ ちなみに、有効期限 expires=... が指定されている場合はブラウザはクッキーを HDD に保存します。なので、ブラウザを閉じたり PC をシャットダウンしたりしても、再度ブラウザを立ち上げてアクセスすれば、ブラウザはクッキーを HDD から取得してサーバーに送ります。(有効期限内であればの話です)

1

訂正

2021/03/03 02:23

投稿

退会済みユーザー
test CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- クッキーに有効期限を設定してない(即ち、Set-Cookie: に expires=...; が指定されてない)ようですね。
5
+ クッキーに有効期限を設定してない(即ち、Set-Cookie: に expires=... が指定されてない)ようですね。
6
6
 
7
7
 
8
8
 
9
- その場合、クッキーはブラウザのメモリにしか保持されません。従って、ブラウザを閉じればクッキーは消えます。逆に、ブラウザを閉じなければ認証クッキーは消えません。要求のたびに送られ続けます。
9
+ その場合、クッキーはブラウザのメモリにしか保持されません。従って、ブラウザを閉じればクッキーは消えます。逆に、ブラウザを閉じなければクッキーは消えません。要求のたびに送られ続けます。
10
10
 
11
11
 
12
12