猿问

从 WPF 应用程序检查用户是否存在于 Azure AD 中

我有一个 WPF 应用程序,其身份验证是 AzureAD。如果有任何新用户出现,我们首先会在 Azure AD 中添加该用户,然后将同一用户添加到我们的 WPF 应用程序中。将该用户添加到 WPF 时,我们需要验证该用户是否存在于 Azure 中

步骤 1. 网络管理员在 Azure AD 中创建用户 2. 我们的项目管理员将该用户添加到 Azure 中的客户端 3. 项目管理员使用 azure 身份验证登录到我们的 WPF 应用程序并添加此用户 4. 此时我们需要重新检查azureAD 中存在新用户。

这意味着项目管理员使用 Azure 身份验证登录到 WPF 应用程序 [他的用户 ID、票证、客户端 ID 等可用],并且他尝试检查用户是否提供了 Azure AD [新用户名可用,但该管理员不知道密码]。

请帮我编写 c# 代码来解决这个问题。


qq_笑_17
浏览 89回答 1
1回答

偶然的你

关于这个问题,请参考以下代码//install Active Directory Authentication Library (ADAL) and Azure Active Directory Graph Client Library    public static ActiveDirectoryClient GetActiveDirectoryClientAsApplication()        {            Uri servicePointUri = new Uri(ResourceId);            Uri serviceRoot = new Uri(servicePointUri,tenant);            ActiveDirectoryClient activeDirectoryClient = new ActiveDirectoryClient(serviceRoot,                async () => await AcquireTokenAsyncForApplication());            return activeDirectoryClient;        }        public static async Task<string> AcquireTokenAsyncForApplication()        {            return await GetTokenForApplication();        }        /// <summary>        /// Get Token for Application.        /// </summary>        /// <returns>Token for application.</returns>        public static async Task<string> GetTokenForApplication()        {                AuthenticationContext authenticationContext = new AuthenticationContext(                    authority,                    false);                // Configuration for OAuth client credentials                     ClientCredential clientCred = new ClientCredential(                        clientId,                        cred);                    AuthenticationResult authenticationResult =                        await authenticationContext.AcquireTokenAsync(ResourceId, clientCred);                   var TokenForApplication = authenticationResult.AccessToken;            return TokenForApplication;        }        public async Task<object> Getuser()        {            ActiveDirectoryClient client = GetActiveDirectoryClientAsApplication();            var userLookupTask = client.Users.Where(         user => user.UserPrincipalName.Equals(        "", StringComparison.CurrentCultureIgnoreCase)).ExecuteSingleAsync();            User result =(User) await userLookupTask;            return result;        }        public async Task Adduser() {            ActiveDirectoryClient client = GetActiveDirectoryClientAsApplication();            var newUser = new User()            {                // Required settings                DisplayName = "",                UserPrincipalName = "",                PasswordProfile = new PasswordProfile()                {                    Password = "H@ckMeNow!",                    ForceChangePasswordNextLogin = false                },                MailNickname = "",                AccountEnabled = true,                // Some (not all) optional settings                GivenName = "",                Surname = "",                JobTitle = "",                Department = "",                City = "",                State = "",                Mobile = "",            };            await client.Users.AddUserAsync(newUser);        }
随时随地看视频慕课网APP
我要回答