我试图在Azure AD中创建一个用户,但没有mail
提交的是用户创建成功。我需要在用户创建时在Azure AD中添加电子邮件ID。Azure AD:属性'邮件'是只读的,不能设置
我加入JSON的mail
属性和它说
住宅“邮件”是只读的,不能进行设置。
我的C#代码是:
var url = string.Format("https://graph.windows.net/{0}/users?api-version=1.6",oauthsettings.TenantId);
var authDetails = _orchardServices.WorkContext.CurrentSite.As<AzureAuthenticationPart>();
var alogin = new AzureLogin();
var jwttoken = alogin.ServiceAuth(authDetails.ClientId, authDetails.ClientSecret);
var aadUser =new {
mail=email,
accountEnabled = true,
displayName = userName,
mailNickname = userName,
passwordProfile = new passwordProfile()
{
password = password,
forceChangePasswordNextLogin = authDetails.IsUpdatePwdNextLogin
},
userPrincipalName = userName + oauthsettings.DirectoryName,
};
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + jwttoken);
var modelval = Convert.ToString(JsonConvert.SerializeObject(aadUser));
var content = new StringContent(modelval, Encoding.UTF8, "application/json");
var result = client.PostAsync(url, content).Result;
从Azure的AD获得访问令牌登录
JwtSecurityToken token = GetAccessToken(authDetails, code, returnUrl);
var claims = token.Claims;
return LogOn(claims, returnUrl);
获取电子邮件后,从智威汤逊
public LogOnResponse LogOn(IEnumerable<System.Security.Claims.Claim> claims, string returnUrl)
{
var email = claims.FirstOrDefault(s => s.Type == "email").Value;
在这个地方,我可以” t获取访问令牌,因为用户创建的时间未设置为emai l在图形API请求中。我还有一个问题,就是这个电子邮件ID只基于我验证了另一个网站,所以我需要在用户创建时设置电子邮件。
我需要在我的应用程序登录电子邮件ID。我将Azure AD集成到了电子邮件所需的现有应用程序中。
有谁知道如何在Azure AD中为用户设置电子邮件ID。
我在邮递员的要求。对电子邮件回复添加在请求
你看过[Azure AD B2C](https://docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-overview)吗?似乎您正在管理外部用户,并在您的应用程序中使用各种不同的电子邮件,这更适合于Azure AD B2C。 – Saca