如何获取EWS应用程序的oauth参数

时间:2017-08-08 09:11:17

标签: c# oauth exchangewebservices

我有一个EWS应用程序,我应该为访问EWS托管API实现oauth。我试图遵循这里发布的代码:Authenticate an EWS application by using OAuth但无法弄清楚如何获取像authority / clientId / clientAppUri和serverName这样的参数。我已经在azure门户网站上注册了我的应用程序,但没有看到任何与我的应用程序相关的信息。 此外,我无法在azure管理门户上看到任何说明“通过Exchange Web服务将登录用户作为登录用户”的权限。

1 个答案:

答案 0 :(得分:0)

该帖子中的问题引用了一篇MSDN文章,该文章的section解释了这些值应该是什么:

  

用于.NET的Azure AD身份验证库简化了获取   Azure Active Directory中的身份验证令牌,以便您可以使用   应用程序中的令牌。你需要提供四件   获取令牌的信息:

     
      
  1. 令牌服务器的URI。令牌服务器是对用户进行身份验证并返回应用程序令牌的权限   可用于访问EWS。

  2.   
  3. 使用Azure Active Directory注册应用程序时创建的应用程序客户端ID。

  4.   
  5. 使用Azure Active Directory注册应用程序时创建的应用程序客户端URI。

  6.   
  7. EWS服务器的URI和EWS端点的URI。对于Exchange作为Office 365的一部分,这将是https:///ews/exchange.asmx。

  8.         

    以下代码显示了如何使用Azure AD身份验证   库获取身份验证令牌。它假定了   进行身份验证请求所需的信息存储在   应用程序的App.config文件

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);