# 인증

`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 자격 증명(credential)으로 설정됩니다. git credential helper가 구성되지 않은 경우 사용자에게 경고가 표시됩니다. `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 자격 증명 olarak 설정됩니다. 완료되면 해당 머신에 로그인되며, 액세스 토큰은 모든 `huggingface_hub` 구성 요소에서 사용할 수 있게 됩니다. `token`이 제공되지 않으면 브라우저 기반 OAuth 플로우를 사용하여 인증합니다. URL을 열고 짧은 코드를 입력하면 토큰이 검색되어 저장됩니다. 터미널에서는 기존 액세스 토큰을 붙여넣는 것을 선택할 수도 있습니다.

스크립트 외부에서 로그인하려면 [login()](/docs/huggingface_hub/v2.4.0/ko/package_reference/authentication#huggingface_hub.login)을 래핑한 CLI 명령어인 `hf auth login`을 사용할 수도 있습니다.

> [!TIP]
> 토큰이 전달되지 않으면 [login()](/docs/huggingface_hub/v2.4.0/ko/package_reference/authentication#huggingface_hub.login)은 스크립트가 노트북에서 실행되는지 자동으로 감지합니다. 그러나 현재 존재하는 다양한 노트북 환경으로 인해 이 감지가 정확하지 않을 수 있습니다. 이 경우 [notebook_login()](/docs/huggingface_hub/v2.4.0/ko/package_reference/authentication#huggingface_hub.notebook_login) 또는 [interpreter_login()](/docs/huggingface_hub/v2.4.0/ko/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/ko/package_reference/authentication#huggingface_hub.login)을 호출하는 것과 동일합니다. [interpreter_login()](/docs/huggingface_hub/v2.4.0/ko/package_reference/authentication#huggingface_hub.interpreter_login)은 노트북 플로우 대신 터미널 프롬프트 사용을 강제하고 싶을 때 유용합니다.

자세한 내용은 [login()](/docs/huggingface_hub/v2.4.0/ko/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/ko/package_reference/authentication#huggingface_hub.login)을 호출하는 것과 동일합니다. 터미널의 프롬프트 대신 노트북 플로우 사용을 강제하려면 [notebook_login()](/docs/huggingface_hub/v2.4.0/ko/package_reference/authentication#huggingface_hub.notebook_login)이 유용합니다.

자세한 내용은 [login()](/docs/huggingface_hub/v2.4.0/ko/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 자격 증명(credential)으로 설정됩니다. git credential helper가 구성되지 않은 경우 사용자에게 경고가 표시됩니다. `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)

저장된 모든 액세스 토큰을 나열합니다.

