# 認証

`huggingface_hub` ライブラリを使用すると、ユーザーは Hub への認証をプログラムで管理できます。これには、ログイン、ログアウト、トークンの切り替え、利用可能なトークンの一覧表示が含まれます。

認証の詳細については、[このセクション](../quick-start#authentication)を参照してください。

## ログイン[[huggingface_hub.login]]

#### huggingface_hub.login[[huggingface_hub.login]]

```python
huggingface_hub.login(token: str | None = None, add_to_git_credential: bool = False, skip_if_logged_in: bool = True)
```

[ソース](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L57)

**パラメータ:**

token (`str`, *任意*) : https://huggingface.co/settings/token から生成するユーザーアクセストークン。

add_to_git_credential (`bool`、デフォルトは`False`) : `True`の場合、トークンはgit認証情報として設定されます。git認証情報ヘルパーが設定されていない場合、ユーザーに警告が表示されます。`token`が提供された場合のみ使用され、ブラウザベースのフローでは無視されます。

skip_if_logged_in (`bool`、デフォルトは`True`) : `True`の場合、ユーザーがすでにログイン済みの場合はトークンのプロンプトを表示しません。再ログインを強制するには`False`に設定します。CLIでは代わりに`--force`を使用します。

**例外:** ``ValueError`` または `DeviceCodeError`

- [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) -- 組織トークンが渡された場合。ログインには個人アカウントのトークンのみ有効です。
- [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) -- トークンが無効な場合。
- `DeviceCodeError` -- ブラウザベースのログインが失敗した場合（認可が拒否された、コードの有効期限が切れた、など）。

Hubにアクセスするには、マシンにログインします。

`token` はキャッシュに永続化され、git の認証情報として設定されます。完了すると、マシンがログイン状態になり、アクセストークンはすべての `huggingface_hub` コンポーネントで利用可能になります。`token` が指定されていない場合、ブラウザベースの OAuth フローを使用して認証が行われます。URL を開き、短いコードを入力すると、トークンが取得されて保存されます。ターミナルでは、既存のアクセストークンを貼り付けることも選択できます。

スクリプトの外からログインするには、[login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.login)をラップしたCLIコマンドである`hf auth login`を使用することもできます。

> [!TIP]
> トークンが渡されない場合、[login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.login)はスクリプトがノートブック内で実行されているかどうかを自動的に検出します。ただし、現在存在するノートブックの多様性により、この検出が正確でない場合があります。その場合は、[notebook_login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.notebook_login)または[interpreter_login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.interpreter_login)を使用してUIを強制指定できます。

## interpreter_login[[huggingface_hub.interpreter_login]]

#### huggingface_hub.interpreter_login[[huggingface_hub.interpreter_login]]

```python
huggingface_hub.interpreter_login(skip_if_logged_in: bool = True)
```

[ソース](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L284)

**パラメータ:**

skip_if_logged_in (`bool`、デフォルトは`True`) : `True`の場合、ユーザーがすでにログイン済みの場合はトークンのプロンプトを表示しません。再ログインを強制するには`False`に設定します。CLIでは代わりに`--force`を使用します。

HFウェブサイトへのログインを促すプロンプトを表示し、トークンを保存します。

ノートブック外で実行される場合、トークンを渡さずに [login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.login) を呼び出すことと同等です。ノートブックのフローではなく、ターミナルのプロンプトの使用を強制したい場合に [interpreter_login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.interpreter_login) が役立ちます。

詳細については、[login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.login)を参照してください。

## notebook_login[[huggingface_hub.notebook_login]]

#### huggingface_hub.notebook_login[[huggingface_hub.notebook_login]]

```python
huggingface_hub.notebook_login(skip_if_logged_in: bool = True)
```

[ソース](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L335)

**パラメータ:**

skip_if_logged_in (`bool`、デフォルトは`True`) : `True`の場合、ユーザーがすでにログイン済みの場合はトークンのプロンプトを表示しません。再ログインを強制するには`False`に設定します。CLIでは代わりに`--force`を使用します。

HFウェブサイトへのログインを促すプロンプトを表示し、トークンを保存します。

ノートブックで実行する場合、トークンを渡さずに [login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.login) を呼び出すことと同等です。ターミナルのプロンプトではなく、ノートブックフローの使用を強制したい場合に [notebook_login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.notebook_login) が役立ちます。

詳細については、[login()](/docs/huggingface_hub/v2.4.0/ja/package_reference/authentication#huggingface_hub.login)を参照してください。

## ログアウト[[huggingface_hub.logout]]

#### huggingface_hub.logout[[huggingface_hub.logout]]

```python
huggingface_hub.logout(token_name: str | None = None)
```

[ソース](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L120)

**パラメータ:**

token_name (`str`, *任意*) : ログアウトするアクセストークンの名前。`None`の場合、保存されているすべてのアクセストークンからログアウトします。

**例外:** ``ValueError``

- [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) -- アクセストークン名が見つからない場合。

Hubからマシンのログアウトを実行します。

Tokenはマシンから削除され、git credentialからも削除されます。

## auth_switch[[huggingface_hub.auth_switch]]

#### huggingface_hub.auth_switch[[huggingface_hub.auth_switch]]

```python
huggingface_hub.auth_switch(token_name: str, add_to_git_credential: bool = False)
```

[ソース](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L162)

**パラメータ:**

token_name (`str`) : 切り替えるアクセストークンの名前。

add_to_git_credential (`bool`、デフォルトは`False`) : `True`の場合、トークンはgit認証情報として設定されます。git認証情報ヘルパーが設定されていない場合、ユーザーに警告が表示されます。`token`が`None`の場合、`add_to_git_credential`の値は無視され、エンドユーザーに再度プロンプトが表示されます。

**例外:** ``ValueError``

- [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) -- アクセストークン名が見つからない場合。

別のアクセストークンに切り替えます。

## auth_list[[huggingface_hub.auth_list]]

#### huggingface_hub.auth_list[[huggingface_hub.auth_list]]

```python
huggingface_hub.auth_list()
```

[ソース](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L191)

保存されているすべてのアクセストークンを一覧表示します。

