如何使用Microsoft ADAL for Java为服务呼叫服务?

时间:2016-05-20 11:42:16

标签: java service adal azure-ad-graph-api

我想这次我会使用Microsoft的ADAL库与Office365进行交互。

我有一个要执行的集成任务,因此不需要用户交互,这是我找到的地方:

https://msdn.microsoft.com/en-us/library/azure/dn645543.aspx

我可以使用客户端凭据获取令牌。但根据文章我应该"只有"需要一个client_id和client_secret。

我在AuthenticationContext类上找不到支持此方法的方法。

我希望我忽视了一些事情。

我知道我可以自己执行HTTP请求,但这违背了使用ADAL软件的目的。

1 个答案:

答案 0 :(得分:2)

您正在寻找的方法签名是:

public Future<AuthenticationResult> acquireToken(
    final String resource,
    final ClientCredential credential,
    final AuthenticationCallback callback)

ClientCredential是使用应用的client_idclient_secret创建的。这是我从the sample included with ADAL4J借来的一个例子:

Future<AuthenticationResult> future = context.acquireToken(
    "https://graph.windows.net",
    new ClientCredential(clientId, clientSecret),
    null);
result = future.get();

(在上文中,contextAuthenticationContext的实例。)