java - 如何使用 Microsoft ADAL for Java 进行服务到服务调用?

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

我想这次我会使用微软的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_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的实例。)

关于java - 如何使用 Microsoft ADAL for Java 进行服务到服务调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37345836/

相关文章:

java - Java 保护 block 中的 "Huge bug"

java - 保存复选框的状态,然后加载它

android - 未绑定(bind)并停止的Service的onDestroy未被调用

java - 在tomcat中使用Thread Pool executor服务加速请求

java - 使用 Spring Security 基于角色的授权

java - Spring中@Scheduled方法中的Thread.sleep

Android - 如果应用程序终止,远程服务也会终止

azure - ADAL java 支持通过用户凭据进行身份验证

azure - 微软图形API : Insufficient privileges to complete the operation

javascript - 如何将 azure 广告集成到使用 azure 中的 REST API 的 React Web 应用程序中