2016-05-20 15 views
0

今回私はMicrosoftのADALライブラリを使用してOffice365とやりとりすることを考えました。私が見つけた場所Microsoft ADAL for Javaを使用してService to Service Callを行うにはどうすればよいですか?

は、私が実行するための統合タスクなので、必要に応じてユーザーの操作なしを持って、それは次のようになります。

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

私は、クライアントの資格情報を使用してトークンを取得することができています。しかし、記事によると、私は "ただ"必要なのはclient_idとclient_secretです。

AuthenticationContextクラスでこれをサポートするメソッドが見つかりませんでした。

私は何かを見逃したいと思う。

私は自分自身でHTTPリクエストを実行できることを知っていますが、これはADALソフトウェアを使用する目的に反するものです。

答えて

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のインスタンスである。)

+0

(私の中でアクセスする場合、私はこれらの資格情報を使用して、今アクセストークンを持っていますが、...ケース)crmオンライン、私はhttpを取得401(無認可)。 Azure ADのアクセス許可には、指定するオプションが1つしかありません。組織のユーザーとしてCRM Onlineにアクセスします。問題に取り組むために新しいトピックを開始する必要がありますか?フィリップ氏は私を助けますか? – mpjjonker

+1

新しい質問を開始する必要がありますが、答えは次のとおりです。CRM Onlineは、app +ユーザートークン(委任されたアクセス許可)のみをサポートします。ユーザーがそこにいなくてもプロセスをユーザーに偽装させたい場合は、リフレッシュトークンを使用して新しいアクセストークンを取得することはできますが、壊れやすい(危険な)設定です。 –

関連する問題