2017-08-31 25 views
2

OAUTH2認証でMicrosoft Graph APIを使用しようとしていますが、委任された権限を使用する方法とユーザーのログインが不要です。Microsoft Graphを使用してデーモンに委任された権限を使用する

自分でアプリを一度認証するのはうれしいですが、これはデーモン/サービスで実行され、ユーザー経由ではやり取りされません。このため、私は最初に/authorizeを使用してから/tokenに電話をかけることができるので、Microsoftが委任されたアクセス権を説明する方法を使用することはできません。

私はあなたが/tokenの秘密鍵を使用できることは知っていますが、アクセス権を持っているのはアプリケーションのアクセス権のみで、委任されていないようです。

委任された権限を使用して私がユーザーであるがユーザーが毎回サインインページを使用する必要がないかのように認証する方法はありますか?

答えて

2

これはできません。 「委任された」という用語は、「ユーザーがの代わりにユーザーのために操作できるように、そのアプリケーションにアクセス許可を委任した」という意味で非常に意図的です。アクセス許可を委任するコンテキストにはuserが存在しないため、アプリケーションのアクセス許可は委任されません。

は、両方のアプリケーションで動作するスコープスコープスコープと委任がでてスコープ多くの場合、同じシナリオを実行できます。ユーザが認証されていないときには存在しない(/users[{id}]を使用する必要があります)、省略名/meを使用するなどのいくつかの警告があります。しかしながら、同等の適用範囲がなく、ギャップを埋めるために定期的に検討されるケースもある。

+0

アプリケーション権限は管理者の承認を必要とし、すべてのアイテムへのアクセスを許可するため(大規模ADでは完璧ではありません)、アプリケーションに委任された権限を設定してもAPIトークンメソッドを使用すると/ users [{id}]が、私のユーザーが許可を得ているものに対してのみですか? – Dom

+0

管理者の同意(すなわち、「User.Read.All')が必要な委任された権限を要求し、その同意を管理者から受け取った場合は、はいです。 'user 'がOAUTHを通過すると、'/me'と '/ users {someone-other-than-me '}の両方のエンドポイントを呼び出すことができます。彼らはまだそうでない機能を実行することはできません(つまり、 'ユーザ'があなたのアプリが普通に他の 'ユーザ 'を編集することができない場合)。 –

+0

そして、管理者のみを使用する方法はありません。アプリケーションのUIを使用してログインすることなく、すべてのアプリケーションのアクセス許可ですか? – Dom

関連する問題