匿名サインアップ
このアプリでは、匿名サインアップ機能を提供します。初期のID・パスワードを備えた匿名アカウントが自動で作成されるため、ユーザはサインアップ操作なしに匿名アカウントを使用してアプリの利用を開始できます。
匿名サインアップにより、ログイン資格情報を備えた匿名アカウントがアプリとバックエンドで自動生成されます。このアプリにおけるログイン資格情報は以下を表します。
- アカウントID
- パスワード
作成したログイン資格情報は、自動ログインで利用するためセキュアストレージに保存します。
処理フロー
匿名サインアップの処理フローは以下になります。
No | 処理 | 内容 |
---|---|---|
① | パスワードの自動生成 | アプリは、パスワードを自動生成します。パスワードは16桁のランダムな文字列で構成されます。 |
② | サインアップのリクエスト | アプリは、ニックネームと生成したパスワードを用いてバックエンドにサインアップリクエストを送ります。 |
③ | アカウントIDの自動生成 | バックエンドは、サインアップリクエストを受け取ると、アカウントIDを自動生成します。アカウントIDはUUID(v4)で生成します。 |
④ | アカウント情報の登録 | バックエンドは、生成したアカウントIDとアプリから受け取ったパスワードなどを用いてアカウント情報を保持します。 |
⑤ | アカウント情報の返却 | バックエンドはアプリにアカウント情報を返却します。 |
⑥ | ログイン資格情報の保存 | アプリは、受け取ったアカウント情報からアカウントIDを取得し、パスワードと共にアカウントIDに紐づくパスワードとしてセキュアストレージに保存します。 |
利用方法
useAuthCommands
の戻り値のsignup
関数を使用してサインアップします。このメソッドを使用する前に、バックエンドからCSRFトークンを取得する必要があります。
サインアップの利用方法
const {signup} = useAuthCommands();
try {
// CSRFトークンの取得
await refreshCsrfToken();
// サインアップ
await signup({nickname: values.nickname});
} catch (e) {
// エラー処理
}