Пример #1
0
        public async Task <string> GetLoginToken(string pit)
        {
            var listDeploymentsRequest = new ListDeploymentsRequest
            {
                ProjectName = ProjectName,
                Filters     = { new Filter
                                {
                                    TagsPropertyFilter = new TagsPropertyFilter
                                    {
                                        Tag      = DeploymentTagFilter,
                                        Operator = TagsPropertyFilter.Types.Operator.Equal,
                                    },
                                } }
            };

            var suitableDeployment = deploymentServiceClient.ListDeployments(listDeploymentsRequest).First();

            var loginRequest = new CreateLoginTokenRequest
            {
                PlayerIdentityToken = pit,
                DeploymentId        = suitableDeployment.Id,
                LifetimeDuration    = Duration.FromTimeSpan(new TimeSpan(0, 0, 15, 0)),
                WorkerType          = "UnityClient"
            };

            var createLoginTokenResponse = await playerAuthServiceClient.CreateLoginTokenAsync(loginRequest);

            return(createLoginTokenResponse.LoginToken);
        }
Пример #2
0
        private async Task <string> CreateLoginTokenForDeployment(string deploymentId, string playerIdentityToken)
        {
            try
            {
                var loginTokenResp = await _playerAuthServiceClient.CreateLoginTokenAsync(new CreateLoginTokenRequest
                {
                    DeploymentId        = deploymentId,
                    PlayerIdentityToken = playerIdentityToken
                });

                return(loginTokenResp.LoginToken);
            }
            catch (Exception e)
            {
                Log.Error(e, "encountered an error creating a login token");
                throw new RpcException(new Status(StatusCode.Internal, "failed to create login token for deployment"));
            }
        }