2016-05-19 13 views
0

私は現在、自分のアプリケーションでExchangeデータにアクセスするためにEWSを使用しています。私は残りのAPIを使用してOffice365の機能を追加したい。Office 365 rest api承認

EWSでは、認証は非常に簡単で、ユーザー名とパスワードがbase64でエンコードされたヘッダーにAuthorizationタグを追加するだけで、基本認証と呼ばれます。

しかし、オフィス365とプロセスを使用すると、2つのステップは、私のアプリケーションとoffice365の間にあることがわかり、上記画像を2つの余分な手順enter image description here

を取得します。

私のアプリケーションを使用するすべてのオフィスアカウントは、Microsoft Azureで いくつかの設定手順を実行する必要があります。秘密鍵を取得するには、クライアントとテナントID。

私は、理想的にはユーザーが自分の資格情報を入力するだけでよいので、私はプログラムでオフィス365の彼のすべてのデータにアクセスできます。

答えて

1

私のアプリケーションを使用するすべてのオフィスアカウントは、Microsoft Azureでいくつかの設定手順を実行する必要があります。秘密鍵を取得するには、クライアントとテナントID。

あなたの質問が正しく理解されていれば、あなたのアプリユーザーの秘密鍵client_idを設定するすべての手順を回避したいですか?

  • アプリがブラウザベースのウェブアプリの場合、図の「アプリケーション」ブロックは実際にはウェブサーバーとユーザー/ブラウザで構成されています。この場合、WebサーバーだけがAzure、client_id、secrectなどから構成を取得する必要があります。これは、ユーザー/ Webブラウザーは自分の資格情報を入力する必要があり、暗黙の同意があれば、ユーザーのデータにアクセスします。このようなワークフローは、この場合は、以下の enter image description here

を記述することができ、あなたはアプリのユーザー/ブラウザは、Azureのから設定をプルする必要はありません。 Webサーバーのみが行います。

  • あなたのアプリがネイティブアプリの場合、認証エンドポイントにリクエストするとき、アプリはリクエストにclient_idとリダイレクトURIを含める必要があります。これは以下の最初のステップに示されています。この場合 enter image description here

彼らは唯一の入力に自分のユーザー名とパスワードを必要とするように、アプリのユーザーが同じのclient_idを使用してURIをリダイレクトすることができ、あなたが、自分自身のを作成するために「力」にそれらを必要としません。 。

あなたは、私はそれを避けたい、https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/

+0

はいからのAzure AD認証の詳細情報を見つけることができます。私のアプリはブラウザベースです。ブラウザアプリの使用例を教えてください。 – eomeroff

+0

まあ、アイデアはあなたのアプリケーションを青空やその他のウェブサーバーでホストすることです。アプリユーザーがあなたのウェブサイトをブラウズするとき、彼は自分のクレデンシャルを入力するだけです。 client_id、secrect keyなどは、クライアント用ではなく、サーバーアプリケーション用です。 – Jackie

+0

私は理解します。しかし、私はまだAzureに行き、それらの値を取得するようにユーザーを強制します。私は彼/彼女がユーザー名とパスワードだけを入力したいと思います。出来ますか? – eomeroff

関連する問題