我試圖在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