アカウント / 認証
ToukaCloud の Keycloak ベース認証、ログイン・登録、プロフィール管理
1. 概要
ToukaCloud の認証は Keycloak というオープンソースの IAM プラットフォームをベースにしています。アカウント作成からログイン、プロフィール管理まで、 セキュアで統一されたインターフェースを提供します。
- Keycloak アカウント: メール / ユーザー名とパスワードで認証
- Direct Access Grants: API や CLI からの直接ログイン対応
- セキュアトークン: JWT トークンベースのセッション管理
- プロフィール: 個人情報と支払い情報の一元管理
2. サインアップ
新しいアカウントを作成します。以下の手順に従ってください。
2.1 サインアップ画面へアクセス
- ログイン画面 を開く
- 下部の「アカウントを作成」リンク(または
Sign up)をクリック
2.2 必須項目を入力
- ユーザー名: 英数字とアンダースコア。一度作成したら変更不可
- メールアドレス: 有効なメールアドレス。重複登録は不可
- パスワード: 最低 8 文字。大文字・小文字・数字の混在推奨
- パスワード確認: 同じパスワードを再入力
2.3 アカウント作成
- 利用規約とプライバシーポリシーに同意
- 「アカウントを作成」ボタンをクリック
- 成功時は自動で ログイン画面 にリダイレクト
3. ログイン
ユーザー名またはメールアドレスとパスワードでログインします。 ToukaCloud は Keycloak の Direct Access Grants に対応しており、 Web UI だけでなく API 経由でのログインも可能です。
3.1 Web UI でのログイン
- ログイン画面 を開く
- ユーザー名またはメールアドレスを入力
- パスワードを入力
- 「ログイン」ボタンをクリック
- 成功すると ホーム(
/)にリダイレクト
3.2 API 経由でのログイン(Direct Access Grants)
プログラムから Keycloak トークンを取得する場合、以下の API を使用します:
POST https://cloud.auth.max3584.net/realms/cloudserver/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=password &client_id=cloudserver &client_secret=<your-client-secret> &username=your_username &password=your_password &scope=openid profile email
レスポンス例:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cC...",
"expires_in": 300,
"refresh_expires_in": 1800,
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR...",
"token_type": "Bearer",
"id_token": "eyJhbGciOiJSUzI1NiIsImtp...",
"scope": "openid profile email"
}access_token の有効期限はデフォルト 5 分間です。refresh_token を使用して新しいトークンを取得できます。3.3 トークンのリフレッシュ
POST https://cloud.auth.max3584.net/realms/cloudserver/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=refresh_token &client_id=cloudserver &client_secret=<your-client-secret> &refresh_token=eyJhbGciOiJIUzI1NiIsInR...
4. パスワードリセット
パスワードを忘れた場合、Keycloak の password reset 機能でリセットできます。 (現在 UI 実装は準備中ですが、Keycloak Admin API を経由して管理者がリセット要求することは可能です)
4.1 ログイン画面からのリセット(計画中)
今後、ログイン画面に「パスワード忘れ」リンクが追加される予定です。
4.2 管理者経由でのリセット(未実装)
現在、アカウント削除同様に管理者への問い合わせが必要です。 サポートチャネルを通じて「アカウント: example@example.com のパスワードリセット要求」と伝えてください。
5. プロフィール編集
ユーザープロフィール画面では、個人情報の編集とアカウント設定ができます。
5.1 プロフィール画面へアクセス
- ログイン後、サイドバーまたはメニューの「プロフィール」をクリック
- または直接 /profile にアクセス
5.2 編集できる情報
- メールアドレス: 変更後は検証(未実装)が必要な場合あり
- 表示名(名前): オプション。プロフィール表示用
- 姓・名(First/Last Name): 個別設定可能
5.3 注意事項
- ユーザー名は作成後変更できません
- メールアドレスの重複登録はできません
- 変更は即座に反映されます(確認メールなし)
6. 支払い方法の管理
ToukaCloud のサブスクリプション料金や追加アドオン費用の支払いに使用するクレジットカード情報を管理します。 Stripe による安全な決済処理を採用しており、カード情報は ToukaCloud では保存されません。
6.1 支払い情報画面へアクセス
- プロフィール画面を開く
- 「請求情報」タブをクリック
- または直接 /profile/billing にアクセス
6.2 クレジットカード情報を追加
- 「支払い方法を追加」ボタンをクリック
- Stripe Payment Element のモーダルが開く
- カード番号・有効期限・CVC を入力
- 「保存」ボタンをクリック
- 成功すると一覧に登録されたカードが表示される
6.3 カードの更新 / 削除
- 登録済みカードの右側の操作メニューから削除可能
- デフォルトカードはライセンス購入やアドオン購入時に自動使用
- 複数枚登録可能ですが、決済時はデフォルト設定されたカードが使用される
7. SSH キー管理
Container / レガシー VPS に接続する際の SSH 公開鍵を管理します。 事前に複数の鍵を登録しておくことで、Container 作成時に簡単に選択できます。
7.1 SSH 鍵一覧へアクセス
- プロフィール画面を開く
- 「SSH 鍵」セクションを下にスクロール
- または /profile ページ内で確認
7.2 新しい SSH 鍵を追加
- 「新しい SSH 鍵を追加」ボタンをクリック
- 鍵の名前を入力(例:
GitHub鍵、開発用ノート PC) - SSH 公開鍵の内容をペースト
- 「追加」をクリック
7.3 対応形式
以下の SSH 鍵形式がサポートされています:
ssh-rsa(RSA 2048 bit 以上推奨)ssh-dss(DSA - 非推奨)ecdsa-sha2-nistp256(ECDSA)ssh-ed25519(Ed25519 - 推奨)
7.4 SSH 鍵の削除
- 鍵一覧から削除対象の鍵を探す
- 右側のゴミ箱アイコン(
🗑️)をクリック - 確認ダイアログで「削除」を選択
- 削除後は復元できません
7.5 鍵の自動抽出
SSH 公開鍵をペーストすると、コメント部分(鍵の右端)が自動で鍵名として提案されます。 例: ssh-ed25519 AAAAC3... user@laptop → 鍵名: user@laptop
8. アカウント削除
アカウントを削除する場合、以下のポリシーに従います。この操作は取り消せません。
8.1 削除前の確認事項
- すべての Container / レガシー VPS は自動削除されます
- コンテナレジストリ内のイメージもすべて削除されます
- ライセンスのサブスクリプションはキャンセルされます
- 過去の請求履歴は保持されます(税務・法的理由)
8.2 アカウント削除方法
現在、アカウント削除はセルフサービスで実装されていません。 削除を希望する場合は、サポートチャネル(メール等)を通じて以下を明記して問い合わせてください:
件名: アカウント削除要求 本文: メールアドレス: your-email@example.com ユーザー名: your-username 以下のポリシーに同意します: - すべての Container / イメージが削除される - ライセンスのサブスクリプションがキャンセルされる - この操作は取り消せない 本当に削除してください。
8.3 ライセンスキャンセル後の扱い
ライセンス(サブスクリプション)をキャンセルすると以下が発生します:
- 新しい Container デプロイが不可になります
- 既存 Container は引き続き実行されます(自動削除されない)
- 30 日間ログインがないと、アカウントが自動削除されることがあります
- その際、すべての Container / データは自動削除されます
9. トラブルシューティング
invalid_grant: Account is not fully set upこのエラーは Keycloak が必須 Action(例:メール検証、プロフィール完成)を要求している状態です。現在 ToukaCloud では必須 Action は設定されていませんので、 このエラーが出た場合はサポートに問い合わせてください。
invalid_grant: Invalid user credentialsユーザー名またはメールアドレス、パスワードが間違っている可能性があります。 大文字・小文字の区別に注意してください。 パスワードを忘れた場合は、上記「パスワードリセット」セクションを参照してください。
Username already exists入力したユーザー名は既に使用されています。別のユーザー名で試してください。
Email already exists入力したメールアドレスは既に登録されています。 既にアカウントを持っている場合は、ログイン画面から直接ログインしてください。
Password must be at least 8 charactersパスワードは 8 文字以上である必要があります。より長いパスワードを入力してください。
画面をリロード(F5)してください。キャッシュが原因の場合があります。 それでも反映されない場合は、ブラウザの再起動やシークレットモード(プライベートウィンドウ)で試してください。
Invalid SSH key format入力した SSH 公開鍵の形式が正しくない可能性があります。 以下を確認してください:
- ssh-rsa / ecdsa-sha2 / ssh-ed25519 で始まっているか
- 秘密鍵ではなく公開鍵をペーストしているか
- 鍵の中の改行や余計なスペースがないか
- ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 など正しく生成したか
Stripe Payment Element が読み込めていない可能性があります。以下を試してください:
- ブラウザのキャッシュをクリア
- JavaScript が有効になっているか確認
- 広告ブロッカーを一時的に無効化
- 別のブラウザで試す
セッションが 30 分以上無操作の状態が続きました。 再度 ログイン してください。
クラウドインフラの一時的な問題の可能性があります。以下を試してください:
- 数分待機して再度試す
- ステータスページで障害情報を確認(未実装)
- ネットワーク接続を確認
- サポートに報告