Net-Game/Library/PackageCache/com.unity.collab-proxy@50ac96531b63/Editor/Configuration/AutoConfig.cs
2025-03-28 08:33:16 -04:00

65 lines
2.1 KiB
C#

using System;
using UnityEngine;
using Codice.CM.Common;
using Codice.LogWrapper;
using PlasticGui;
using Unity.PlasticSCM.Editor.WebApi;
namespace Unity.PlasticSCM.Editor.Configuration
{
internal static class AutoConfig
{
internal static TokenExchangeResponse PlasticCredentials(
string unityAccessToken,
string serverName)
{
var startTick = Environment.TickCount;
var tokenExchangeResponse = WebRestApiClient.PlasticScm.TokenExchange(unityAccessToken);
mLog.DebugFormat("TokenExchange time {0} ms", Environment.TickCount - startTick);
if (tokenExchangeResponse == null)
{
var warning = PlasticLocalization.GetString(PlasticLocalization.Name.TokenExchangeResponseNull);
mLog.Warn(warning);
Debug.LogWarning(warning);
return null;
}
if (tokenExchangeResponse.Error != null)
{
var warning = string.Format(
PlasticLocalization.GetString(PlasticLocalization.Name.TokenExchangeResponseError),
tokenExchangeResponse.Error.Message, tokenExchangeResponse.Error.ErrorCode);
mLog.ErrorFormat(warning);
Debug.LogWarning(warning);
return tokenExchangeResponse;
}
if (string.IsNullOrEmpty(tokenExchangeResponse.AccessToken))
{
var warning = string.Format(
PlasticLocalization.GetString(PlasticLocalization.Name.TokenExchangeAccessEmpty),
tokenExchangeResponse.User);
mLog.InfoFormat(warning);
Debug.LogWarning(warning);
return tokenExchangeResponse;
}
ClientConfiguration.Save(
serverName,
SEIDWorkingMode.SSOWorkingMode,
tokenExchangeResponse.User,
tokenExchangeResponse.AccessToken);
return tokenExchangeResponse;
}
static readonly ILog mLog = PlasticApp.GetLogger("AutoConfig");
}
}