> ## Documentation Index
> Fetch the complete documentation index at: https://sequence-0fb8d9e6-6461-checkout-updates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Intro

# 認証 - はじめに

Embedded Wallet SDK では認証が非常に重要です。認証は、ユーザー認証情報と関連付けてセッション署名用ウォレットを確立することで機能します。Embedded Wallet の仕組みについては、[Embedded Wallet ドキュメント](/solutions/wallets/developers/embedded-wallet/overview) をご覧ください。

認証を実装するには、[SequenceLoginWindow](/sdk/unity/bootstrap_game#login)のひな型をご利用いただくことをおすすめします。
`Canvas`にアタッチされている`Canvas Scaler`コンポーネントのUIスケールモードを「Scale with Screen Size」に設定することを推奨します。これにより、ログインウィンドウ（およびこのCanvas配下の他のUI要素）がビルドターゲットを切り替えた際にも自動的にスケーリングされます。

これにより、2つの認証方法へ簡単にアクセスできます：

1. [メール＋OTPサインイン](/sdk/unity/onboard/authentication/email)

2. [OIDCベースのソーシャルサインイン](/sdk/unity/onboard/authentication/oidc)

SDKはさらに以下の認証方法もサポートしています：
3\.  [PlayFabサインイン](/sdk/unity/onboard/authentication/playfab)
4\. [ゲストサインイン](/sdk/unity/onboard/authentication/guest)

## `SequenceWallet` の取得

サポートされている認証方法のいずれかで認証情報を取得した後（詳細は各ドキュメントをご参照ください）、新しく作成された `SequenceWallet` への参照を取得する必要があります。

`SequenceWallet.OnWalletCreated` イベントを購読してください。以下のコードスニペットで実装できます：

```csharp theme={null}
SequenceWallet.OnWalletCreated += OnWalletCreatedHandler;

public void OnWalletCreatedHandler(SequenceWallet wallet) {
  // Do something
}
```

ここで `OnWalletCreatedHandler` は `SequenceWallet` を唯一の引数として受け取る関数です。Unityでイベントの扱いに慣れていない場合は、こちらの [Reddit投稿](https://www.reddit.com/r/gamedev/comments/u3hz2v/how_to_use_events_a_supersimple_unity_example/) が参考になります！

## エラー処理

ログイン処理中のエラーを検知するため、`OnLoginFailed` イベントも購読してください。

```csharp theme={null}
SequenceLogin login = SequenceLogin.GetInstance();
login.OnLoginFailed += OnLoginFailedHandler;

public void OnLoginFailedHandler(string message, LoginMethod method, string email, List<LoginMethod> loginMethods = default)
{
  Debug.LogError($"Error logging in: {message} with login method {method} and email {email}");
}
```
