matrix-org / matrix-org/matrix-python-sdk
Registration fails "An access token should not be provided on requests to /register"
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 266
- フォーク
- 118
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Describe the bug
Trying to register a new account fails with "An access token should not be provided on requests to /register (except if type is m.login.application_service)", although no token was ever set.
To Reproduce
from matrix_client.client import MatrixClient
matrix = MatrixClient("${homeserverUrl}")
matrix.register_with_password(username="alice", password="foobar")
Expected behavior
Login works fine
Actual behavior
Client side:
Traceback (most recent call last):
File "test.py", line 3, in <module>
matrix.register_with_password(username="alice", password="foobar")
File "/lib/python3.9/site-packages/matrix_client/client.py", line 203, in register_with_password
response = self.api.register(
File "/lib/python3.9/site-packages/matrix_client/api.py", line 160, in register
return self._send(
File "/lib/python3.9/site-packages/matrix_client/api.py", line 748, in _send
raise MatrixRequestError(
matrix_client.errors.MatrixRequestError: 400: {"errcode":"M_UNKNOWN","error":"An access token should not be provided on requests to /register (except if type is m.login.application_service)"}
Server side:
[ 104.741510] synapse[1153]: synapse.http.server: [POST-1] <SynapseRequest at 0x7fc64ed887f0 method='POST' uri='/_matrix/client/r0/register?kind=user' clientproto='HTTP/1.1' site='8448'> SynapseError: 400 - An access token should not be provided on requests to /register (except if type is m.login.application_service)
[ 104.753403] synapse[1153]: synapse.access.http.8448: [POST-1] ::ffff:192.168.1.2 - 8448 - {None} Processed request: 0.010sec/-0.000sec (0.001sec, 0.001sec) (0.000sec/0.000sec/0) 140B 400 "POST /_matrix/client/r0/register?kind=user HTTP/1.1" "matrix-python-sdk/0.4.0" [0 dbevts]
Additional context
This is probably a regression in 0.4.0 related to the addition of use_authorization_header. Also the tests currently only test the creation of guest accounts.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
traceback に示されている _send と register の呼び出しを matrix_client/api.py から確認し、続いて matrix_client/client.py の register_with_password パスと既存の guest-account テストを確認します。登録リクエストを再現し、access token なしで成功することを確認してください。現在のテストに加えて、パスワード登録のカバレッジを追加してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- api, authentication
- issue の種類
- バグ
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100