我想这次我会使用微软的ADAL与 Office365 交互的库。
我有一个集成任务要执行,因此不需要用户交互,这就是我发现的地方:
https://msdn.microsoft.com/en-us/library/azure/dn645543.aspx
我可以使用客户端凭据获取 token 。但根据这篇文章,我应该“只”需要 client_id 和 client_secret。
我在 AuthenticationContext 类上找不到建议支持此功能的方法。
我希望我忽略了一些事情。
我知道我可以自己执行 HTTP 请求,但这违背了使用 ADAL 软件的目的。
最佳答案
您正在寻找的方法签名是:
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
的实例。)
关于java - 如何使用 Microsoft ADAL for Java 进行服务到服务调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37345836/