예제 #1
0
        public async Task <TokenResponse> GetProjectTokenAsync(int projectId)
        {
            var project = await ProjectRepository.Get()
                          .Where(p => p.Id == projectId)
                          .Include(p => p.Organization)
                          .Include(p => p.Owner)
                          .Include(p => p.Group)
                          .Include(p => p.Type)
                          .FirstOrDefaultAsync();

            if (!(project == null || project.Owner == null))
            {
                if (SetBuildEngineEndpoint(project.Organization))
                {
                    var name = project.Owner.ExternalId.Replace("google-oauth2|", "g2=");
                    name = name.Replace("auth0|", "a0=");
                    var tokenRequest = new TokenRequest
                    {
                        Name = name
                    };
                    var tokenResponse = BuildEngineApi.GetProjectAccessToken(project.WorkflowProjectId, tokenRequest);
                    return(tokenResponse);
                }
            }
            return(null);
        }
예제 #2
0
        public void GetTokenTest(int projectId)
        {
            var client  = new BuildEngineApi(BaseUrl, ApiAccessKey);
            var request = new TokenRequest
            {
                Name = "g2=123432423142312345678"
            };
            var response = client.GetProjectAccessToken(projectId, request);

            Assert.NotNull(response.AccessKeyId);
            Assert.NotEmpty(response.AccessKeyId);
            Assert.NotNull(response.SessionToken);
            Assert.NotEmpty(response.SessionToken);
            Assert.NotNull(response.SecretAccessKey);
            Assert.NotEmpty(response.SecretAccessKey);
            Assert.NotNull(response.Expiration);
            Assert.NotEmpty(response.Expiration);
            Assert.NotEmpty(response.Region);
            Assert.Equal("us-east-1", response.Region);
        }