Пример #1
0
        public static IEnumerable <Claim> GetClaims(AzureB2CUser user)
        {
            yield return(new Claim(JwtClaimTypes.Name, user.displayName));

            if (!string.IsNullOrEmpty(user.surname))
            {
                yield return(new Claim(JwtClaimTypes.FamilyName, user.surname));
            }

            yield return(new Claim(JwtClaimTypes.GivenName, user.givenName));

            if (user.facsimileTelephoneNumber.IsPresent())
            {
                yield return(new Claim(JwtClaimTypes.PhoneNumber, user.facsimileTelephoneNumber));
            }
        }
        public Task <AzureB2CResult> CreateUserAsync(AzureB2CUser user)
        {
            var a     = new List <SignInNames>(user.signInNames);
            var mails = new List <string>();

            foreach (var signInName in user.signInNames.ToArray().Where(s => s.type == "emailAddress"))
            {
                a.Add(new SignInNames
                {
                    type  = "userName",
                    value = signInName.value.Replace("@", "_")
                });

                //user.o = user.mailNickName ?? signInName.value;
                mails.Add(signInName.value);
            }
            user.otherMails  = mails.ToArray();
            user.signInNames = a.ToArray();
            user.Environment = _hostingEnvironment.EnvironmentName;

            return(SendGraphPostRequest("/users", JsonConvert.SerializeObject(user)));
        }