ログインパラメータ、署名アルゴリズム、コールバックフィールド、アプリケーションレビュー要件は変更される場合があります。アクセスする前に、Potato から最新の SDK および公式技術ドキュメントを入手してください。
標準認証プロセス
アプリケーションの作成
アプリケーション名、ドメイン名、コールバックアドレス、サポート情報を登録します。
承認の開始
ステータス パラメータを含む承認リクエストを生成し、Potato に移動します。
ユーザー確認
要求された情報と目的をユーザーに表示し、ユーザーが積極的に同意する。
サーバー側の検証
コールバックを認証し、資格情報を交換し、独自のログイン セッションを確立します。
データと権限の範囲
アカウントの作成、ユーザーの識別、または現在の業務の完了に必要な情報のみを要求してください。ログイン認証を、連絡先、チャット、またはその他の無関係なデータへのアクセス許可として解釈しないでください。
- 承認前にデータの目的と保存期間を説明します。
- オプションの情報については、後でスキップまたは補足します。
- 安定したプラットフォーム ID でローカル アカウントをバインドします。
- アカウントのバインド解除と削除への入り口を提供します
セキュリティ設計
- 完全に一致する HTTPS コールバック アドレスを使用し、オープン リダイレクトを無効にします。
- ランダムな状態または同等のメカニズムを使用して、クロスサイト リクエスト フォージェリを防止します。
- 認証コードはサーバー側でのみ交換され、クライアント キーは公開されてはなりません。
- 署名、発行者、対象者、時間、再生リスクを検証します。
- セッションの適切な期間、取り消し機能、および例外ログイン通知を設定します。
フロント エンドから直接送信されるユーザー情報を信頼しないでください。アカウントの作成とログインが成功するには、サーバーによって完了した認証検証に基づく必要があります。
例外とアカウントの競合
| シナリオ | 推奨される処理 |
|---|---|
| ユーザーによる認証のキャンセル | 元のページに戻り、システム エラーとして表示せずに入力されたコンテンツを保持します。 |
| ステータスパラメータの不一致 | ログインを終了し、一時セッションをクリーンアップし、セキュリティ イベントを記録します。 |
| 認証コードが期限切れまたは使用されている | 認証を再開し、交換を繰り返さない |
| 同じ電子メールまたは携帯電話番号のアカウントをすでに持っている | バインドする前に元のアカウントを確認することをユーザーに要求し、自動マージを禁止します。 |
| プラットフォーム サービスは一時的に利用できません | 再試行プロンプトを表示し、他のログイン方法を保持します |
オンラインチェック
- 実稼働アプリケーションとテスト アプリケーション、キー、コールバックは完全に分離されます。
- プライバシー ポリシーでログイン データと削除方法が説明されます。
- 承認のキャンセル、タイムアウト、コールバックの繰り返しがテストされています
- バインド解除とアカウント復元のサポート
- ログには認証コード、トークン、または完全な個人データは含まれていません。
- セキュリティ インシデントへの対応とキーのローテーション プロセスを提供します