private async Task <FabricGraphApiUser> GetUserByTenantAsync(string subjectId, string tenantId)
        {
            var token = await _azureActiveDirectoryClientCredentialsService.GetAzureAccessTokenAsync(tenantId);

            if (token != null)
            {
                var client  = GetNewClient(token);
                var apiUser = await client.Users[subjectId].Request().GetAsync().ConfigureAwait(false);
                if (apiUser != null)
                {
                    FabricGraphApiUser user = new FabricGraphApiUser(apiUser)
                    {
                        TenantId = tenantId
                    };
                    return(user);
                }
            }

            return(null);
        }
Esempio n. 2
0
        private async Task GetNewTokenAsync(string tenantId)
        {
            var response = await _innerCredentialService.GetAzureAccessTokenAsync(tenantId).ConfigureAwait(false);

            var newToken = new TokenResponseWrapper()
            {
                ExpiryTime = DateTime.Now.AddSeconds(response.ExpiresIn), Response = response
            };

            _tokensOfEachTenant.AddOrUpdate(tenantId, newToken, (key, oldValue) => { return(newToken); });
        }