[TIL]Django Westagram:ログイン、会員加入エラーテスト
1. Sign up Errors
1-1. INVALID_EMAIL, 400
電子メールに@が添付されていない場合.http -v POST 127.0.0.1:8000/user/signup email='jene0000gmail.com'
nickname='jene0000' password='00000000' phone='010-1111-2222'
結果:HTTP/1.1 400 Bad Request
...
{
"message": "INVALID_EMAIL"
}
1-2. INVALID_PASSWORD, 400
今回はパスワードが8文字以下でない場合に7文字加算してエラーが発生した場合です.http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene0000' password='0000000' phone='010-1111-2222'
結果:HTTP/1.1 400 Bad Request
...
{
"message": "INVALID_PASSWORD"
}
1-3. INVALID_PHONE, 400
今回は、携帯電話番号が###-##################################################################http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene0000' password='00000000' phone='01011112222'
結果:HTTP/1.1 400 Bad Request
{
"message": "INVALID_PHONE"
}
1-4.USER_ALREADY_EXISTS, 409
今回は既存の携帯電話番号で会員に加入してみました.http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene1111' password='00000000' phone='010-1111-2222'
結果:HTTP/1.1 409 Conflict
{
"message": "USER_ALREADY_EXISTS"
}
1-5. NICKNAME_ALREADY_EXISTS, 409
既存のニックネームで会員に加入してみます.
上のニックネーム=「jee 0000」はすでにアカウントを作成しており、他の情報は異なり、同じニックネームしか試していません.http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene0000' password='00000001' phone='010-1111-3333'
結果:HTTP/1.1 409 Conflict
{
"message": "NICKNAME_ALREADY_EXISTS"
}
1-6. KEY_ERROR, 400
今回はphone、passwordは全然入っていません.この二つは必須で、入れなければなりません.http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene0000'
結果:HTTP/1.1 409 Conflict
{
"message": "KEY_ERROR"
}
2. Sign In Errors
2-0. SUCCESS, 200
私のコードはニックネーム、phone、emailの3つの中で1つだけ入力して、正しいパスワードを入力してログインすることができます.(実際Instagramはそうでした.)http -v POST 127.0.0.1:8000/user/signin email='jene0000gmail.com'
password='00000000'
結果:HTTP/1.1 200 OK
{
"message": "SUCCESS",
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImplbmUwMDAwQGdtYWlsLmNvbSJ9.Wfmx706jYJoA-7SYy2fOEmLl1iMAXAWlLFL48cEYwEI"
}
コイン発行もいいです.
2-1. INVALID USER,401(ニックネームなし)
存在しないニックネーム「jee 1111」でログインしてみます.http -v POST 127.0.0.1:8000/user/signin nickname='jene1111'
password='00000000'
結果:HTTP/1.1 401 Unauthorized
{
"message": "INVALID_USER"
}
2-2. INVALID USER,401(誤ったパスワード)
パスワードは「00000000」で、「00000000 11」を試した結果です.http -v POST 127.0.0.1:8000/user/signin nickname='jene0000'
password='00000011'
結果:HTTP/1.1 401 Unauthorized
{
"message": "INVALID_USER"
}
2-3. KEY_ERROR, 400
先ほど、ログインはニックネーム、phone、emailの3つに1つだけ入力し、正しいパスワードを入力すれば実現しました.
しかしパスワードは必須です.
パスワードを入力しない場合は、どうすればいいですか?http -v POST 127.0.0.1:8000/user/signin nickname='jene0000'
結果:HTTP/1.1 401 Unauthorized
{
"message": "KEY_ERROR"
}
3.コードエラー...500....
3-1. Data too long for column
_mysql.connection.query(self, query)
django.db.utils.DataError: (1406, "Data too long for column 'phone' at row 1")
[02/Feb/2021 23:53:13] "POST /user/signup HTTP/1.1" 500 189153
さっきこの間違いを見て慌てました.
これは一体何なのか、やったのに、もちろん私のせい^^.
私は会員入学試験の電話番号を:# http -v POST ...
phone='010-1111-2222'
私のモデル.pyでは、番号間の-(ハイフン)をmax length=11に設定してしまいました.
だから次のように変更しました.# models.py
phone = models.CharField(null=True, max_length=15)
3-2. jwt.exceptions.DecodeError:
>>> import jwt
>>> SECRET = 'secret'
>>> access_token = jwt.encode({'user' : 1}, SECRET, algorithm = 'HS256')
....
raise DecodeError(
jwt.exceptions.DecodeError: It is required that you pass in a value for the "algorithms" argument when calling decode().
この間違いは何ですか?どうして私に...でも.
アルゴリズムじゃなくアルゴリズム!^^...>>> access_token = jwt.encode({'user' : 1}, SECRET, algorithms = 'HS256')
の最後の部分
もしあなたがまた実験したり、楽楽を経験したりしたら、私はまたこの文章を更新します!
Reference
この問題について([TIL]Django Westagram:ログイン、会員加入エラーテスト), 我々は、より多くの情報をここで見つけました
https://velog.io/@hojin11choi/TIL-Westagram-로그인-회원가입-error-test-views.py
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
http -v POST 127.0.0.1:8000/user/signup email='jene0000gmail.com'
nickname='jene0000' password='00000000' phone='010-1111-2222'
HTTP/1.1 400 Bad Request
...
{
"message": "INVALID_EMAIL"
}
http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene0000' password='0000000' phone='010-1111-2222'
HTTP/1.1 400 Bad Request
...
{
"message": "INVALID_PASSWORD"
}
http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene0000' password='00000000' phone='01011112222'
HTTP/1.1 400 Bad Request
{
"message": "INVALID_PHONE"
}
http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene1111' password='00000000' phone='010-1111-2222'
HTTP/1.1 409 Conflict
{
"message": "USER_ALREADY_EXISTS"
}
http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene0000' password='00000001' phone='010-1111-3333'
HTTP/1.1 409 Conflict
{
"message": "NICKNAME_ALREADY_EXISTS"
}
http -v POST 127.0.0.1:8000/user/signup email='[email protected]'
nickname='jene0000'
HTTP/1.1 409 Conflict
{
"message": "KEY_ERROR"
}
2-0. SUCCESS, 200
私のコードはニックネーム、phone、emailの3つの中で1つだけ入力して、正しいパスワードを入力してログインすることができます.(実際Instagramはそうでした.)
http -v POST 127.0.0.1:8000/user/signin email='jene0000gmail.com'
password='00000000'
結果:HTTP/1.1 200 OK
{
"message": "SUCCESS",
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImplbmUwMDAwQGdtYWlsLmNvbSJ9.Wfmx706jYJoA-7SYy2fOEmLl1iMAXAWlLFL48cEYwEI"
}
コイン発行もいいです.2-1. INVALID USER,401(ニックネームなし)
存在しないニックネーム「jee 1111」でログインしてみます.
http -v POST 127.0.0.1:8000/user/signin nickname='jene1111'
password='00000000'
結果:HTTP/1.1 401 Unauthorized
{
"message": "INVALID_USER"
}
2-2. INVALID USER,401(誤ったパスワード)
パスワードは「00000000」で、「00000000 11」を試した結果です.
http -v POST 127.0.0.1:8000/user/signin nickname='jene0000'
password='00000011'
結果:HTTP/1.1 401 Unauthorized
{
"message": "INVALID_USER"
}
2-3. KEY_ERROR, 400
先ほど、ログインはニックネーム、phone、emailの3つに1つだけ入力し、正しいパスワードを入力すれば実現しました.
しかしパスワードは必須です.
パスワードを入力しない場合は、どうすればいいですか?
http -v POST 127.0.0.1:8000/user/signin nickname='jene0000'
結果:HTTP/1.1 401 Unauthorized
{
"message": "KEY_ERROR"
}
3.コードエラー...500....
3-1. Data too long for column
_mysql.connection.query(self, query)
django.db.utils.DataError: (1406, "Data too long for column 'phone' at row 1")
[02/Feb/2021 23:53:13] "POST /user/signup HTTP/1.1" 500 189153
さっきこの間違いを見て慌てました.
これは一体何なのか、やったのに、もちろん私のせい^^.
私は会員入学試験の電話番号を:# http -v POST ...
phone='010-1111-2222'
私のモデル.pyでは、番号間の-(ハイフン)をmax length=11に設定してしまいました.
だから次のように変更しました.# models.py
phone = models.CharField(null=True, max_length=15)
3-2. jwt.exceptions.DecodeError:
>>> import jwt
>>> SECRET = 'secret'
>>> access_token = jwt.encode({'user' : 1}, SECRET, algorithm = 'HS256')
....
raise DecodeError(
jwt.exceptions.DecodeError: It is required that you pass in a value for the "algorithms" argument when calling decode().
この間違いは何ですか?どうして私に...でも.
アルゴリズムじゃなくアルゴリズム!^^...>>> access_token = jwt.encode({'user' : 1}, SECRET, algorithms = 'HS256')
の最後の部分
もしあなたがまた実験したり、楽楽を経験したりしたら、私はまたこの文章を更新します!
Reference
この問題について([TIL]Django Westagram:ログイン、会員加入エラーテスト), 我々は、より多くの情報をここで見つけました
https://velog.io/@hojin11choi/TIL-Westagram-로그인-회원가입-error-test-views.py
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
_mysql.connection.query(self, query)
django.db.utils.DataError: (1406, "Data too long for column 'phone' at row 1")
[02/Feb/2021 23:53:13] "POST /user/signup HTTP/1.1" 500 189153
# http -v POST ...
phone='010-1111-2222'
# models.py
phone = models.CharField(null=True, max_length=15)
>>> import jwt
>>> SECRET = 'secret'
>>> access_token = jwt.encode({'user' : 1}, SECRET, algorithm = 'HS256')
....
raise DecodeError(
jwt.exceptions.DecodeError: It is required that you pass in a value for the "algorithms" argument when calling decode().
>>> access_token = jwt.encode({'user' : 1}, SECRET, algorithms = 'HS256')
Reference
この問題について([TIL]Django Westagram:ログイン、会員加入エラーテスト), 我々は、より多くの情報をここで見つけました https://velog.io/@hojin11choi/TIL-Westagram-로그인-회원가입-error-test-views.pyテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol