ドキュメント

サポート

Vivox Unity SDK

Vivox Unity SDK

インターフェース実装ベースのトークン生成

How to generate access tokens using an interface implementation.
読み終わるまでの所要時間 1 分最終更新 23日前

Vivox アクセストークン (VAT) が生成される方法を制御する必要がある場合は、Vivox SDK の
IVivoxTokenProvider
インターフェースを実装するクラスを作成し、それを VivoxService に登録します。
IVivoxTokenProvider の実装を
VivoxService.Instance.SetTokenProvider
を呼び出すことで登録すると、Vivox はトークンが必要なアクション (サインインなど) で常にその実装の
IVivoxTokenProvider.GetTokenAsync
メソッドを呼び出します。
ペイロードを作成するのに必要な情報が、オーバーライドされた
IVivoxTokenProvider.GetTokenAsync
メソッドの入力として提供されます。この情報は、VAT を作成するときに使用されます。
その場合でも、サーバー側トークンベンディングを設定し、オーバーライドされた
IVivoxTokenProvider.GetTokenAsync
メソッド内でそのトークンをフェッチする必要があります。

サブスクライブするには

ユーザーをログインさせる前に、以下を使用して
IVivoxTokenProvider
実装を登録する必要があります。
VivoxService.Instance.SetTokenProvider(new CustomTokenProvider());

トークンをフェッチする

オーバーライドされたメソッドで提供されているすべてのパラメーター (一部は空の場合あり) を使用してペイロードを作成し、安全なサーバーに送信して、Vivox アクセストークンを作成します。すべてのパラメーターを送信することをお勧めします。ペイロードで必要なもののみが返されます。そのペイロードを
GetTokenAsync
メソッドへの入力として使用します。
トークンによって、空になるパラメーターが異なります。例えば、サインイントークンでは targetUserUri と channelUri が空になります。これは想定されている動作です。 トークン生成の例を以下に示します。
public class VoiceManager : MonoBehaviour{ async void Start() { // Must be done before any other Vivox action otherwise tokens will not be generated properly. VivoxService.Instance.SetTokenProvider(new VivoxTokenProvider()); await UnityServices.InitializeAsync(); await VivoxService.Instance.InitializeAsync(); }}class VivoxTokenProvider : IVivoxTokenProvider{ public Task<string> GetTokenAsync(string issuer = null, TimeSpan? expiration = null, string targetUserUri = null, string action = null, string channelUri = null, string fromUserUri = null, string realm = null) { // Implement token fetching logic here. // The method parameters contain the necessary information for crafting the request payload. // This will be called whenever a token is needed for a Vivox action }}
特定のフローの詳細については、Vivox アクセストークンを使用してサインインする を参照してください サーバー側トークンの生成の詳細については、安全なサーバー上でのトークンの生成 を参照してください。