Photon VIVEPORT Authentication

Contents

概述

添加VIVEPORT作為Photon認証供應商很容易。

您將需要一個VIVEPORT的AppId和一個VIVEPORT的AppSecret。請聯系VIVEPORT內容團隊(store@viveport.com)申請AppSecret。由於這一個步驟不是自動化的,所以要提前開始這個過程。

Back To Top

客戶端代碼

Photon用一個臨時令牌來驗証VIVEPORT的用戶,該令牌由VIVEPORT API提供。

下載VIVEPORT SDK並從壓縮包中導入Unity包到您的項目中。

Back To Top

獲取VIVEPORT令牌

在連接到Photon之前,客戶端必須登錄到VIVEPORT並獲得一個會話令牌。 下面的工作流程是一個基本步驟的總結。整個代碼可以在VIVEPORT SDK中的VIVEPORTDemo.cs中看到。

如同VIVEPORT的慣例,第一步是用VIVEPORT AppId啟動API。

//...

Api.Init(InitStatusHandler, APP_ID);

//...

private static void InitStatusHandler(int nResult)
{
    if (nResult == 0)
    {
        bInit = true;
        bIsReady = false;
        ViveSessionToken = string.Empty;
        bArcadeIsReady = false;
        Viveport.Core.Logger.Log("InitStatusHandler is successful");
    }
    else
    {
        // Init error, close your app and make sure your app ID is correct or not.
        bInit = false;
        Viveport.Core.Logger.Log("InitStatusHandler error : " + nResult);
    }
}

//...

在初始化之後(例如在InitStatusHandler()中),檢查令牌是否已經准備好。調用Viveport.Token.IsReady

//...

Token.IsReady(IsTokenReadyHandler);

//...

private static void IsTokenReadyHandler(int nResult)
{
    if (nResult == 0)
    {
        bTokenIsReady = true;
        Viveport.Core.Logger.Log("IsTokenReadyHandler is successful");
    }
    else
    {
        bTokenIsReady = false;
        Viveport.Core.Logger.Log("IsTokenReadyHandler error: " + nResult);
    }
}

//...

現在客戶端可以得到一個會話令牌,它是一個有效的VIVEPORT用戶的証明。

//...

Token.GetSessionToken(GetSessionTokenHandler);

//...

private static void GetSessionTokenHandler(int nResult, string message)
{
    if (nResult == 0)
    {
        Viveport.Core.Logger.Log("GetSessionTokenHandler is successful, token:" + message);

        // Photon:
        // With the viveport token, we can set the auth values for Photon and connect / auth.
        // We store the token for later use.
        ViveSessionToken = message;
    }
    else
    {
        if (message.Length != 0)
        {
            Viveport.Core.Logger.Log("GetSessionTokenHandler error: " + nResult + ", message:" + message);
        }
        else
        {
            Viveport.Core.Logger.Log("GetSessionTokenHandler error: " + nResult);
        }
    }
}

Back To Top

憑證

ViveSessionToken是客戶端在Photon VIVEPORT認証中唯一需要的值。

請確保使用CustomAuthenticationType.Viveport並設置 "userToken "AuthParameter。


To Document Top