65 lines
2.1 KiB
C#
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");
|
|
}
|
|
}
|
|
|