LoginWithCustomID を保護する方法のみを示します。
ログイン暗号化は、タイトル作成後の すべての プレイヤーに対して使用するか、まったく使用しないかのどちらかを意図しています。これは、後から有効にできる機能では ありません。最初から 使用するか、まったく使用しないかを選択する必要があります。特に、暗号化された プレイヤーは 暗号化されていない 方法でログインできず、暗号化されていない プレイヤーは 暗号化された プレイヤーになることはできません。
- Player Shared Secret を作成します。
- 特定のメソッドで保護を有効にするための API ポリシー ルールを導入します。
- クライアントを変更して、Player Shared Key を使用してタイトル公開キーを取得し、ペイロードを暗号化するようにします。
PlayFab は次のような免責事項を示しています: 「すべての API 呼び出しは既に最新の標準で安全に暗号化されており、標準の API 呼び出しの暗号化はほとんどのお客様にとって必要なすべてです。この機能は、プレイヤーが不正なクライアントを使用することをより困難にするために構築された、追加の セキュリティ レイヤーを表します。これは万全ではありません - ハッカーにとっての難易度のバーを上げるだけです。ほとんどの開発者にとって、わずかなセキュリティ向上は、追加で必要な労力に見合いません。」
Player Shared Secret の作成
PlayFab Admin API では、Player Shared Secret を管理するメソッドが公開されています。特定の名前で新しい共有シークレットを作成すると、同じ名前の既存のキーがあればそれを上書きします。また、異なる名前で登録された 複数の 共有シークレットを持つこともできます。
QC953WQ3TU6ZJTZMAT1FNJQIKR92FPUQTISW4Q6WD8SY841MQQ
ポリシーの更新
新しい共有シークレットが作成されました。次に、保護する API 呼び出しを PlayFab に指示する必要があります。 以下のコードを実行して、LoginWithCustomId API 呼び出しを保護し、他の API 呼び出しの保護を 解除 します。
クライアントのセットアップ
ポリシーが更新されると、LoginWithCustomID API を単に呼び出すことはできなくなります。以下のコードを検討してください。
Not Authorized エラー (Not Authenticated と混同しないでください) を返します。
呼び出しペイロードを適切に暗号化するために、クライアントを変更する必要があります。これは 2 段階で行います。
- Player Shared Secret を使ってタイトル公開キーを取得します。
- タイトル公開キーを使ってペイロードを暗号化します。
