# 클래스 UAuthenticationBlueprintApi

> Reference the Blueprint Application Programming Interface for authentication operations.

##### 선언##declaration

```cpp
UCLASS()
class UAuthenticationBlueprintApi : public UBlueprintFunctionLibrary
```

## 델리게이트##delegates

### FAuthenticationResponseDelegate##fauthenticationresponsedelegate

#### 선언##declaration

```cpp
DECLARE_DYNAMIC_DELEGATE_OneParam(FAuthenticationResponseDelegate, FAuthenticationResponse, Response)
```

#### 반환 유형##return-type

[FAuthenticationResponse](./models/authentication-response.md)

### FAuthenticationStateChangedResponseDelegate##fauthenticationstatechangedresponsedelegate

#### 선언##declaration

```cpp
DECLARE_DYNAMIC_DELEGATE_OneParam(FAuthenticationStateChangedResponseDelegate, FAuthenticationStateChangedResponse, Response)
```

#### 반환 유형##return-type

[FAuthenticationStateChangedResponse](./models/authentication-state-changed-response.md)

### FAuthenticationGetUserDelegate##fauthenticationgetuserdelegate

#### 선언##declaration

```cpp
DECLARE_DYNAMIC_DELEGATE_OneParam(FAuthenticationGetUserDelegate, FAuthenticationUserResponse, Response)
```

#### 반환 유형##return-type

[FAuthenticationUserResponse](./models/authentication-user-response.md)

### FAuthenticationDeleteUserDelegate##fauthenticationdeleteuserdelegate

#### 선언##declaration

```cpp
DECLARE_DYNAMIC_DELEGATE_OneParam(FAuthenticationDeleteUserDelegate, bool, bResponse)
```

#### 반환 유형##return-type

부울

### FAuthenticationPlayerProfileChangedResponseDelegate##fauthenticationplayerprofilechangedresponsedelegate

#### 선언##declaration

```cpp
DECLARE_DYNAMIC_DELEGATE_OneParam(FAuthenticationPlayerProfileChangedResponseDelegate, FAuthenticationPlayerProfileChangedResponse, Response)
```

#### 반환 유형##return-type

[FAuthenticationPlayerProfileChangedResponse](./models/authentication-player-profile-changed-response.md)

### FAuthenticationPlayerProfileDeletedResponseDelegate##fauthenticationplayerprofiledeletedresponsedelegate

#### 선언##declaration

```cpp
DECLARE_DYNAMIC_DELEGATE_OneParam(FAuthenticationPlayerProfileDeletedResponseDelegate, FAuthenticationPlayerProfileDeletedResponse, Response)
```

#### 반환 유형##return-type

[FAuthenticationPlayerProfileDeletedResponse](./models/authentication-player-profile-deleted-response.md)

## 메서드##methods

### Sign In Anonymously##sign-in-anonymously

현재 사용자를 익명으로 로그인합니다. 자격 증명이 필요하지 않으며 세션은 현재 기기로만 제한됩니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
static void SignInAnonymously(FAuthenticationSignInOptions Options, FAuthenticationResponseDelegate ResponseDelegate)
```

#### 파라미터##parameters

| **이름**            | **유형**                                                                                               | **설명**                        |
| :---------------- | :--------------------------------------------------------------------------------------------------- | :---------------------------- |
| 옵션                | [FAuthenticationSignInOptions](./models/authentication-sign-in-options.md)                           | 로그인 옵션입니다.                    |
| Response Delegate | [FAuthenticationResponseDelegate](./authentication-blueprint-api.md#fauthenticationresponsedelegate) | API가 응답을 반환할 때 실행되는 델리게이트입니다. |

### Get User Info##get-user-info

계정 생성 시간 및 연동된 외부 ID와 같은 현재 플레이어의 플레이어 정보를 반환합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
void GetUserInfo(FAuthenticationGetUserDelegate ResponseDelegate) const
```

#### 파라미터##parameter

| **이름**            | **유형**                                                                                             | **설명**                        |
| :---------------- | :------------------------------------------------------------------------------------------------- | :---------------------------- |
| Response Delegate | [FAuthenticationGetUserDelegate](./authentication-blueprint-api.md#fauthenticationgetuserdelegate) | API가 응답을 반환할 때 실행되는 델리게이트입니다. |

### Delete User##delete-user

현재 로그인한 사용자를 영구적으로 삭제합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
static void DeleteUser(FAuthenticationDeleteUserDelegate ResponseDelegate)
```

#### 파라미터##parameter

| **이름**            | **유형**                                                                                                   | **설명**                        |
| :---------------- | :------------------------------------------------------------------------------------------------------- | :---------------------------- |
| Response Delegate | [FAuthenticationDeleteUserDelegate](./authentication-blueprint-api.md#fauthenticationdeleteuserdelegate) | API가 응답을 반환할 때 실행되는 델리게이트입니다. |

### Register State Changed Callback##register-state-changed-callback

인증 상태 변경 시 실행되는 델리게이트에 연결합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
static void RegisterStateChangedCallback(FAuthenticationStateChangedResponseDelegate ResponseDelegate)
```

#### 파라미터##parameter

| **이름**            | **유형**                                                                                                                       | **설명**                    |
| :---------------- | :--------------------------------------------------------------------------------------------------------------------------- | :------------------------ |
| Response Delegate | [FAuthenticationStateChangedResponseDelegate](./authentication-blueprint-api.md#fauthenticationstatechangedresponsedelegate) | 인증 상태 변경 시 실행되는 델리게이트입니다. |

### Sign Out##sign-out

제공된 프로필 이름의 현재 사용자를 로그아웃합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
static bool SignOut(bool bClearCredentials = false)
```

#### 파라미터##parameter

| **이름**            | **유형** | **설명**                               |
| :---------------- | :----- | :----------------------------------- |
| Clear Credentials | 부울     | 동일한 계정으로 로그인할 수 있는 세션 토큰을 지우는 옵션입니다. |

### Switch Profile##switch-profile

현재 프로필을 새 프로필 이름으로 전환합니다. 해당 이름으로 프로필을 찾을 수 없는 경우 새 프로필이 생성됩니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
void SwitchProfile(FString ProfileName)
```

#### 파라미터##parameters

| **이름**       | **유형**                                                                                             | **설명**                          |
| :----------- | :------------------------------------------------------------------------------------------------- | :------------------------------ |
| Profile Name | [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes) | 전환할 프로필의 이름입니다. 아직 없는 경우 추가합니다. |

### Profile Exists##profile-exists

프로필이 존재하는지 확인합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
bool ProfileExists(FString ProfileName) const
```

#### 파라미터##parameters

| **이름**       | **유형**                                                                                             | **설명**           |
| :----------- | :------------------------------------------------------------------------------------------------- | :--------------- |
| Profile Name | [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes) | 확인하려는 프로필 이름입니다. |

### Get Current Profile Name##get-current-profile-name

현재 프로필의 이름을 반환합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
FString GetCurrentProfileName() const
```

#### 다음을 반환##returns

| **유형**                                                                                             | **설명**         |
| :------------------------------------------------------------------------------------------------- | :------------- |
| [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes) | 현재 프로필의 이름입니다. |

### Get Profile Names##get-profile-names

모든 활성 플레이어 프로필 이름을 반환합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
TArray<FString> GetProfileNames() const
```

#### 다음을 반환##returns

| **유형**                                                                                                 | **설명**                |
| :----------------------------------------------------------------------------------------------------- | :-------------------- |
| [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes)의 배열 | 모든 활성 플레이어 프로필 이름입니다. |

### Register Profile Changed Callback##register-profile-changed-callback

플레이어 프로필 변경 시 실행되는 핸들러에 연결합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
void RegisterProfileChangedCallback(FAuthenticationPlayerProfileChangedResponseDelegate ResponseDelegate)
```

#### 파라미터##parameters

| **이름**            | **유형**                                                                                                                                       | **설명**                     |
| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------- |
| Response Delegate | [FAuthenticationPlayerProfileChangedResponseDelegate](./authentication-blueprint-api.md#fauthenticationplayerprofilechangedresponsedelegate) | 플레이어 프로필 변경 시 실행되는 핸들러입니다. |

### Register Profile Deleted Callback##register-profile-deleted-callback

플레이어 프로필 삭제 시 실행되는 핸들러에 연결합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
void RegisterProfileDeletedCallback(FAuthenticationPlayerProfileDeletedResponseDelegate ResponseDelegate)
```

#### 파라미터##parameter

| **이름**            | **유형**                                                                                                                                       | **설명**                     |
| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------- |
| Response Delegate | [FAuthenticationPlayerProfileDeletedResponseDelegate](./authentication-blueprint-api.md#fauthenticationplayerprofiledeletedresponsedelegate) | 플레이어 프로필 삭제 시 실행되는 핸들러입니다. |

### IsSignedIn##issignedin

사용자가 로그인했는지 여부를 확인합니다.

> **Note:**
>
> 사용자는 로그인한 상태를 유지할 수 있지만 세션이 만료된 상태입니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
bool IsSignedIn() const
```

#### 다음을 반환##returns

| **유형** | **설명**                               |
| :----- | :----------------------------------- |
| bool   | 사용자가 로그인한 경우 true, 그렇지 않으면 false입니다. |

### IsAnonymous##isanonymous

사용자가 익명으로 로그인했는지 확인합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
bool IsAnonymous() const
```

#### 다음을 반환##returns

| **유형** | **설명**                                    |
| :----- | :---------------------------------------- |
| bool   | 사용자가 익명으로 로그인한 경우 true, 그렇지 않으면 false입니다. |

### IsAuthorized##isauthorized

사용자가 여전히 권한이 부여된 상태인지 확인합니다.

> **Note:**
>
> 사용자는 액세스 토큰이 유효하게 유지되는 한 권한이 부여된 상태입니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
bool IsAuthorized() const
```

#### 다음을 반환##returns

| **유형** | **설명**                                 |
| :----- | :------------------------------------- |
| bool   | 사용자에게 권한을 부여하면 true, 그렇지 않으면 false입니다. |

### IsExpired##isexpired

사용자 세션이 만료되었는지 확인합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
bool IsExpired() const
```

#### 다음을 반환##returns

| **유형** | **설명**                                  |
| :----- | :-------------------------------------- |
| bool   | 사용자의 세션이 만료된 경우 true, 그렇지 않으면 false입니다. |

### SessionTokenExists##sessiontokenexists

현재 프로필에 대해 저장된 기존 세션 토큰이 있는지 확인합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
bool SessionTokenExists() const
```

#### 다음을 반환##returns

| **유형** | **설명**                                  |
| :----- | :-------------------------------------- |
| bool   | 현재 프로필에 대해 저장된 기존 세션 토큰이 있는 경우 true입니다. |

### GetUnityProjectId##getunityprojectid

Unity 프로젝트 ID를 반환합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
FGuid GetUnityProjectId() const
```

#### 다음을 반환##returns

| **유형**                                                                       | **설명**            |
| :--------------------------------------------------------------------------- | :---------------- |
| [Guid](https://docs.unrealengine.com/5.3/en-US/API/Runtime/Core/Misc/FGuid/) | Unity 프로젝트 ID입니다. |

### GetUnityEnvironmentName##getunityenvironmentname

Unity 환경 이름을 반환합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
FString GetUnityEnvironmentName() const
```

#### 다음을 반환##returns

| **유형**                                                                                             | **설명**          |
| :------------------------------------------------------------------------------------------------- | :-------------- |
| [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes) | Unity 환경 이름입니다. |

### GetAccessToken##getaccesstoken

현재 사용자의 액세스 토큰을 반환합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
FString GetAccessToken() const
```

#### 다음을 반환##returns

| **유형**                                                                                             | **설명**                                                |
| :------------------------------------------------------------------------------------------------- | :---------------------------------------------------- |
| [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes) | 현재 사용자가 로그인한 경우 현재 사용자의 액세스 토큰 문자열, 그렇지 않으면 빈 문자열입니다. |

### GetSessionToken##getsessiontoken

현재 사용자의 세션 토큰을 반환합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
FString GetSessionToken() const
```

#### 다음을 반환##returns

| **유형**                                                                                             | **설명**                                               |
| :------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |
| [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes) | 현재 사용자가 로그인한 경우 현재 사용자의 세션 토큰 문자열, 그렇지 않으면 빈 문자열입니다. |

### GetUserId##getuserid

로그인한 현재 사용자의 ID입니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
FString GetUserId() const
```

#### 다음을 반환##returns

| **유형**                                                                                             | **설명**                                |
| :------------------------------------------------------------------------------------------------- | :------------------------------------ |
| [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes) | 로그인한 경우 현재 사용자의 ID, 그렇지 않으면 빈 문자열입니다. |

### GetState##getstate

Authentication 보조 시스템의 현재 상태입니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintPure, Category = "Unity Gaming Services | Authentication")
EAuthenticationStates GetState() const
```

#### 다음을 반환##returns

| **유형**                                              | **설명**                           |
| :-------------------------------------------------- | :------------------------------- |
| [Authentication States](./authentication-states.md) | Authentication 보조 시스템의 현재 상태입니다. |

### GetState##getstate

Unity 프로젝트 ID를 설정합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
static void SetUnityProjectId(FGuid Value)
```

#### 파라미터##parameters

| **이름** | **유형**                                                                       | **설명**                |
| :----- | :--------------------------------------------------------------------------- | :-------------------- |
| 값      | [Guid](https://docs.unrealengine.com/5.3/en-US/API/Runtime/Core/Misc/FGuid/) | 새로운 Unity 프로젝트 ID입니다. |

### SetUnityEnvironmentName##setunityenvironmentname

Unity 환경 이름을 설정합니다.

#### 선언##declaration

```cpp
UFUNCTION(BlueprintCallable, Category = "Unity Gaming Services | Authentication")
static void SetUnityEnvironmentName(FString Value)
```

#### 파라미터##parameters

| **이름** | **유형**                                                                                             | **설명**              |
| :----- | :------------------------------------------------------------------------------------------------- | :------------------ |
| 값      | [문자열](https://docs.unrealengine.com/5.3/en-US/blueprint-variables-in-unreal-engine/#variabletypes) | 새로운 Unity 환경 ID입니다. |
