2017-08-08 5 views
0

EWS管理APIにアクセスするためにoauthを実装するEWSアプリケーションがあります。私はここに投稿されたコードに従うことを試みています:Authenticate an EWS application by using OAuthしかし、authority/clientId/clientAppUriとserverNameのようなパラメータを取得する方法を理解できません。私は紺碧のポータルに私のアプリを登録しているが、私のアプリに関連するような情報は表示されません。 また、Azure管理ポータルの「Exchange Webサービスを介してメールボックスにサインインしたユーザーとしてアクセスする」というアクセス許可が表示されません。EWSアプリケーションのoauthパラメータを取得する方法

答えて

0

ように、投稿の参照に質問それらの値がどうあるべきかを説明していsectionMSDN記事:

のAzure AD認証ライブラリを.NET用のAzure Active Directoryから 認証トークンを取得簡素化アプリケーション内でトークンを とすることができます。トークンサーバの

  1. URI:あなたはトークンを取得するために 4つの情報を提供する必要があります。トークンサーバーは、ユーザーを認証し、アプリケーションがEWSにアクセスするために使用できるトークンを返す権限です。

  2. Azure Active Directoryでアプリケーションを登録したときに作成されたアプリケーションクライアントID。

  3. Azure Active Directoryでアプリケーションを登録したときに作成されたアプリケーションクライアントURIです。

  4. EWSサーバのURIとEWSエンドポイントのURI。 Office 365の一部としてExchangeの場合、これはhttps:///ews/exchange.asmxになります。

次のコードでは、認証トークンを取得するために、AzureのAD認証 ライブラリを使用する方法を示しています。これは、認証要求を行うために必要な 情報は、アプリケーションのApp.configファイルは、私は、MSDNの記事まだでて、権限のURLを把握することはできません、以下を試みた

string authority = ConfigurationManager.AppSettings["authority"]; 
string clientID = ConfigurationManager.AppSettings["clientID"]; 
Uri clientAppUri = new Uri(ConfigurationManager.AppSettings["clientAppUri"]; 
string serverName = ConfigurationManager.AppSettings["serverName"]; 

AuthenticationContext authenticationContext = new AuthenticationContext(authority, false); 

AuthenticationResult authenticationResult = authenticationContext.AcquireToken(serverName, clientId, clientAppUri); 
+0

ファイル に格納されていることを前提と私場合、私は今、サーバー名がhttps://outlook.office365.com/であることを知っています。これは、ユーザーの自動検出の一部としてURLが返されたためです。しかし、記事の中で言及されているものと同じものを使用してください。http://login.windows.net/.onmicrosoft.comここで、devaccountnameは電子メールアドレスですのユーザーですか? – tavier

+0

とクライアントアプリケーションuriのために、私は青空の上に私のアプリを登録しているときに私が入力した同じURLを使用する必要があると思う。私は確かにクライアントIDを知っています:) – tavier

+0

オーソリティキーの値は、あなたの組織アカウントのAzureドメイン(some_domain.onmicrosoft.com)に設定する必要があります。 たとえば、組織アカウントが[email protected]の場合です。その場合、権限はhttp://login.windows.net/contoso.onmicrosoft.com – MadDev

関連する問題