Office 365,oauth2,我在哪里找到Key + Secret?

时间:2015-12-09 21:03:22

标签: azure authentication office365 azure-active-directory

我正在尝试第一次使用oauth2访问365本机应用程序。 我已在Azure AD中注册了我的应用程序。 文档说,“...在Azure管理门户中,选择您的应用程序,然后在顶部菜单中选择配置。向下滚动到键。”

但在(我的)Azure应用程序,配置属性中,我只有名称,客户端ID,URL和徽标,以及权限区域 - 没有“密钥”区域。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

Web应用程序和/或Web API

由于正在寻找KEYS,您需要在AD中创建应用程序作为Web应用程序或Web API

enter image description here

然后你可以找到钥匙和秘密。

enter image description here

Native Client Application

如果您正在开发本机客户端应用程序,则不需要密钥,因为此身份验证流程不需要密钥。

首先,您需要使用 ADAL A c strong D irectory A 验证 L ibrary)为您的客户端程序使用正确的版本。

然后您应该引用App的AD配置,注意不需要KEY。

// Native client configuration in AzureAD
private string clientID = "3dfre985df0-b45640-443-a8e5-f4bd23e9d39f368";
private Uri redirectUri = new Uri("http://myUrl.webapi.client");

然后准备AD权限URL并创建Auth Context。

private const string authority = "https://login.windows.net/cloudalloc.com";
private AuthenticationContext authContext = new AuthenticationContext(authority);

这就是全部,之后你需要根据你想要访问的资源要求访问令牌。

AuthenticationResult result = null;
    try
    {
        result = authContext.AcquireToken(resource, clientId, redirectUri, PromptBehavior.Never);
    }
    catch (AdalException ex)
    {
        if (ex.ErrorCode != "user_interaction_required")
        {
            // An unexpected error occurred.
            MessageBox.Show(ex.Message);
        }
    }

resource可以是webapi或office 365资源URI