回答編集履歴

1

手元で挙動を見返して回答を整形(コードの変更点あり)

2021/12/05 16:06

投稿

attakei
attakei

スコア2738

test CHANGED
@@ -1,10 +1,30 @@
1
- `User`オブジェクトが保持している`password`ではなく、あくまで保存用に不可逆変換したデータであって、生パスワードではないと思います。
1
+ ## 整理
2
-
3
- その上で、`client.login`側で求められているのは生パスワードであるため、`User.password`を渡しても不一致になるのではないでしょうか。
4
2
 
5
3
 
6
4
 
5
+ 手元で挙動を見返した範囲では、コード上の問題点と思われるのは次の2箇所です。
6
+
7
+
8
+
7
- 例えば、こうする必要があるかと。
9
+ ### `login`時に必要なのはユーザー名
10
+
11
+
12
+
13
+ 現状`self.cleint.login`でメールアドレスとパスワードを渡していますが、渡す必要があるのはユーザー名とパスワードです。
14
+
15
+
16
+
17
+ ### `password`に生パスワードを渡せていない
18
+
19
+
20
+
21
+ `User`オブジェクトが保持している`password`ではなく、あくまで保存用に不可逆変換したデータです。
22
+
23
+ `self.client.login`には生パスワードを渡す必要があります。
24
+
25
+
26
+
27
+ ## 回答となるコード例
8
28
 
9
29
 
10
30
 
@@ -44,8 +64,8 @@
44
64
 
45
65
  - self.client.login(email=self.test_user.email, password=self.test_user.password)
46
66
 
47
- + # 生パスワードを直接指定する
67
+ + # ユーザー名と生パスワードを指定する
48
68
 
49
- + self.client.login(email=self.test_user.email, password='user1234')
69
+ + self.client.login(username=self.test_user.username, password='user1234')
50
70
 
51
71
  ```