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); }
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")); } }