2015-10-10 3 views
17

Azure Active Directoryでグラフapiを使用するアプリケーションを登録すると、アプリケーションWebアプリケーションとネイティブアプリケーションの2種類があります。Azure Active DirectoryのネイティブアプリとWebアプリケーションの正確な違い

ウェブアプリケーションの作成中に、2つの値が要求されました。1.サインオンURLと2.アプリケーションID url。これらの値の使用は何ですか?実際の世界のURLが必要ですか、それともhttps://localhost:randomePortで十分ですか?

一方、ネイティブアプリケーションを作成する際には、「リダイレクトURL」という1つの値しか表示されません。

私は、REST呼び出し

POST https://login.microsoftonline.com/<tenant-id>/oauth2/token 

grant_type  client_credentials 
client_id  (the client ID of the calling service application in the AD) 
client secret (the key configured in the calling service application in the AD) 
resource  https://graph.windows.net 

を使用してWebアプリケーションのアクセストークンを取得することができますしかし、どのように私はそのようなREST呼び出しを使用してネイティブアプリケーションのアクセストークンを取得することができますか?ネイティブアプリのクライアントシークレットがないので、

ネイティブアプリの場合は、委任された権限のみが表示され、Webアプリの場合は表示されますが、アプリケーション権限と委任された権限オプションが表示されます。

もう1つ、上記のREST呼び出しの例でアプリケーションを認証します。REST呼び出しを使用してユーザーの認証情報を使用してユーザーを認証するにはどうすればよいですか?

答えて

30

ネイティブアプリケーションは、OAuth2用語で公開されているクライアントです。これらのアプリは、デバイス上で動作することを意図されており、秘密を維持するために信頼されていないため、ディレクトリ内のエントリには対応するプロパティがありません。秘密がなければ、アプリのアイデンティティをアサートすることはできません。そのため、アプリはアプリレベルの権限を取得できず、ポータルのUXに反映されます。 逆に、Webアプリケーションは、OAuth2の言葉では、機密クライアントです。ユーザーは委任トークンを取得できますが、クライアント資格情報を使用してトークンを取得することもできます。 ネイティブアプリは、OAuth2権限付与を介してユーザーのトークンを取得できます。サポートされているすべてのトポロジの完全な概要は、https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/にあります。各シナリオの記述は、より実装指向のガイダンスを指しています。

+0

ありがとうございます。もう1つ、「Windows Azure Active Directory」アプリケーションで、更新、削除、クライアントWebアプリケーションを使用したオブジェクトの作成に必要な「アプリケーションのアクセス許可」に関する詳細情報はどこで入手できますか?私は 'ディレクトリデータの読み込み'はオブジェクト情報の読み込みであり、更新オブジェクトの読み込みと書き込みディレクトリデータですが、一部のWebアプリケーションではうまく動作していないと思われます。 – sagar

+0

こんにちは、Sagar、別のApplicatoin /委任権限とGraph APIにアクセスするには、このブログ記事をご覧ください:http://blogs.msdn.com/b/aadgraphteam/archive/2015/10/06/new-graph-api-consent -permissions.aspx およびこのMSDN投稿:https://msdn.microsoft.com/en-us/Library/Azure/Ad/Graph/api/graph-api-permission-scopes –

関連する問題