Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

パーソナルアクセストークンに対応しました #1271

Merged
merged 6 commits into from
Sep 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion annofabcli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def mask_sensitive_value_in_argv(argv: list[str]) -> list[str]:
`argv`にセンシティブな情報が含まれている場合は、`***`に置き換える。
"""
tmp_argv = copy.deepcopy(argv)
for masked_option in ["--annofab_user_id", "--annofab_password"]:
for masked_option in ["--annofab_user_id", "--annofab_password", "--annofab_pat"]:
try:
start_index = 0
# `--annofab_password a --annofab_password b`のように複数指定された場合でもマスクできるようにする
Expand Down
7 changes: 7 additions & 0 deletions annofabcli/common/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ def create_parent_parser() -> argparse.ArgumentParser:

group.add_argument("--annofab_user_id", type=str, help="Annofabにログインする際のユーザーID")
group.add_argument("--annofab_password", type=str, help="Annofabにログインする際のパスワード")
group.add_argument("--annofab_pat", type=str, help="Annofabにログインする際のパーソナルアクセストークン")

group.add_argument("--mfa_code", type=str, help="Annofabにログインする際のMFAコード")

group.add_argument(
Expand Down Expand Up @@ -326,6 +328,11 @@ def build_annofabapi_resource(args: argparse.Namespace) -> annofabapi.Resource:
logger.info(f"Annofab WebAPIのエンドポイントURL: {endpoint_url}")

kwargs = {"endpoint_url": endpoint_url, "input_mfa_code_via_stdin": True}

# コマンドライン引数からパーソナルアクセストークンが指定された場合
if args.annofab_pat is not None:
return annofabapi.build(pat=args.annofab_pat, **kwargs) # type: ignore[arg-type]

# コマンドライン引数からユーザーIDが指定された場合
if args.annofab_user_id is not None:
login_user_id: str = args.annofab_user_id
Expand Down
53 changes: 35 additions & 18 deletions docs/user_guide/configurations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,23 @@ Configurations

認証情報の設定
==================================================================
Annofabの認証情報を設定する方法は3つあります。
Annofabにはパーソナルアクセストークンで認証する方法と、ユーザーIDとパスワードで認証する方法があります。
パーソナルアクセストークンの作成方法は https://annofab.readme.io/docs/profile-personal_access_token を参照してください。


Annofabの認証情報を設定する方法は以下の3つです。優先順位が高い順に並べています。

1. コマンドライン引数
2. 環境変数
3. ``.netrc`` ファイル


* コマンドライン引数 ``--annofab_user_id`` , ``--annofab_password``
* ``.netrc`` ファイル
* 環境変数 ``ANNOFAB_USER_ID`` , ``ANNOFAB_PASSWORD``

コマンドライン引数
----------------------------------------------------------------

コマンドライン引数 ``--annofab_user_id`` , ``--annofab_password`` で、認証情報を指定できます。
ユーザーIDとパスワードによる認証
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block::

Expand All @@ -29,6 +36,29 @@ Annofabの認証情報を設定する方法は3つあります。
Enter Annofab Password:


パーソナルアクセストークンによる認証
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block::

$ annofabcli my_account get --annofab_pat xxxxxxxxxxxxxxxxxxx




環境変数
----------------------------------------------------------------

ユーザーIDとパスワードによる認証
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
環境変数 ``ANNOFAB_USER_ID`` にAnnofabのユーザID , ``ANNOFAB_PASSWORD`` にAnnofabのパスワードを設定してください。


パーソナルアクセストークンによる認証
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
環境変数 ``ANNOFAB_PAT`` にパーソナルアクセストークンを設定してください。


.netrc ファイル
----------------------------------------------------------------
`.netrcファイル <https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html>`_ にAnnofabの認証情報を記載してください。
Expand All @@ -53,10 +83,6 @@ For Windows



環境変数
----------------------------------------------------------------
環境変数 ``ANNOFAB_USER_ID`` にAnnofabのユーザID , ``ANNOFAB_PASSWORD`` にAnnofabのパスワードを指定してください。

標準入力
----------------------------------------------------------------
.netrcファイルと環境変数どちらにも認証情報が設定されていない場合は、標準入力からAnnofabの認証情報を入力できるようになります。
Expand All @@ -69,15 +95,6 @@ For Windows



優先順位
----------------------------------------------------------------
Annofabの認証情報の設定方法を、優先順位が高い順に並べました。

1. コマンドライン引数
2. 環境変数
3. ``.netrc`` ファイル


エンドポイントURLの設定(開発者用)
==================================================================
環境変数 ``ANNOFAB_ENDPOINT_URL`` でAnnofab WebAPIのエンドポイントURLを設定することができます。
Expand Down
Loading
Loading