gpt4 book ai didi

java - 使用用户名和密码访问 Azure Active Directory

转载 作者:搜寻专家 更新时间:2023-11-01 03:05:12 24 4
gpt4 key购买 nike

我有一个 azure 订阅,一个具有管理员权限的 AD 实例。是否可以通过 Graph API 访问 AD 并获取所有用户的列表?

注意:我已经研究并发现了这个示例: https://github.com/AzureADSamples/WebApp-GraphAPI-Java

但这需要我创建一个 Java Web 应用程序,将其添加到 azure 上的应用程序,获取客户端 ID 和 secret ,然后进行身份验证。

是否无法通过使用 ADAl4J 库编写简单的命令行 java 程序并提供 AD 用户名和密码作为凭据来进行身份验证(获取访问 token )?

例如:

 public static void main(String srgs[])
{
String authority = "https://login.windows.net/";
String tenant = "mytenant.onmicrosoft.com" ;


AuthenticationContext context = null;
AuthenticationResult result = null;
ExecutorService service = null;
try {
service = Executors.newFixedThreadPool(1);
context = new AuthenticationContext(authority + tenant + "/", true,
service);
Future<AuthenticationResult> future = context.acquireToken(
"https://graph.windows.net", new ClientCredential("AD-USERNAME",
"AD-PASSWORD"), null);
result = future.get();
} catch (Exception e) {
e.getCause();
} finally {
service.shutdown();
}


}

最佳答案

这确实是可能的。 AzureAD 支持 OAuth 资源所有者密码凭据授予。 ADAL SDK 最近添加了对其的支持 ( https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/2.8.10804.1442-rc )。

但请注意,当为帐户启用多重身份验证时,或者如果帐户配置为与 ADFS 以外的 IdP 进行联合身份验证,则此身份验证方法会失败。

Vittorio 在此处发布了一篇关于此的精彩博客文章:

http://www.cloudidentity.com/blog/2014/07/08/using-adal-net-to-authenticate-users-via-usernamepassword/

关于java - 使用用户名和密码访问 Azure Active Directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25169661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com