我想这次我会使用Microsoft的ADAL库与Office365进行交互。
我有一个要执行的集成任务,因此不需要用户交互,这是我找到的地方:
https://msdn.microsoft.com/en-us/library/azure/dn645543.aspx
我可以使用客户端凭据获取令牌。但根据文章我应该"只有"需要一个client_id和client_secret。
我在AuthenticationContext类上找不到支持此方法的方法。
我希望我忽视了一些事情。
我知道我可以自己执行HTTP请求,但这违背了使用ADAL软件的目的。
答案 0 :(得分:2)
您正在寻找的方法签名是:
public Future<AuthenticationResult> acquireToken(
final String resource,
final ClientCredential credential,
final AuthenticationCallback callback)
ClientCredential
是使用应用的client_id
和client_secret
创建的。这是我从the sample included with ADAL4J借来的一个例子:
Future<AuthenticationResult> future = context.acquireToken(
"https://graph.windows.net",
new ClientCredential(clientId, clientSecret),
null);
result = future.get();
(在上文中,context
是AuthenticationContext
的实例。)