private static IDictionary <string, ICollection <IIdentityDescriptor> > CreatePossibleIdentityDescriptors(IIdentityManagementService ims, ICollection <string> aliases, ICollection <string> domains, string tenantId)
        {
            var descriptors = new Dictionary <string, ICollection <IIdentityDescriptor> >();

            foreach (var alias in aliases)
            {
                var descriptorsForAlias = new List <IIdentityDescriptor>();
                foreach (var domain in domains)
                {
                    var loggedInAccountString = $"{tenantId}\\{alias}@{domain}";

                    descriptorsForAlias.Add(ims.CreateIdentityDescriptor(TfsLoggedInIdentityType, loggedInAccountString));
                    descriptorsForAlias.Add(ims.CreateIdentityDescriptor(TfsBindPendingIdentityType,
                                                                         "upn:" + loggedInAccountString));
                }

                descriptors.Add(alias, descriptorsForAlias);
            }

            return(descriptors);
        }
Пример #2
0
        private Dictionary <string, ICollection <IIdentityDescriptor> > CreatePossibleIdentityDescriptors(
            IEnumerable <string> aliases,
            string[] domains,
            string tenantId)
        {
            var descriptors = new Dictionary <string, ICollection <IIdentityDescriptor> >();

            foreach (var alias in aliases)
            {
                var descriptorsForAlias = new List <IIdentityDescriptor>();
                foreach (var domain in domains)
                {
                    var loggedInAccountString = $"{tenantId}\\{alias}@{domain}".ToString(CultureInfo.InvariantCulture);

                    descriptorsForAlias.Add(_identityManagementService.CreateIdentityDescriptor(IdentityConstants.ClaimsType, loggedInAccountString));
                    descriptorsForAlias.Add(_identityManagementService.CreateIdentityDescriptor(IdentityConstants.BindPendingIdentityType, IdentityConstants.BindPendingSidPrefix + loggedInAccountString));
                }

                descriptors.Add(alias, descriptorsForAlias);
            }

            return(descriptors);
        }