访问令牌从Adal.JS获取401以获取Azure数据目录

时间:2019-11-08 15:48:07

标签: javascript azure-active-directory adal.js azure-data-catalog

我正在使用ADAL.js构建可访问其他Azure API的有角度的Web应用程序,并且成功访问了自定义Web API,Power BI API和Graph API。不幸的是,我无法访问Azure数据目录,而是通过资源URI请求来获取令牌,就像所有其他服务一样。我已将用户和应用程序服务主体名称添加为目录用户,并且应用程序注册具有Azure数据目录委托访问。下面是用于获取令牌的代码,然后将其附加到标头,就像对其他API一样。这是我访问时遇到的唯一Azure API。在此先感谢您的帮助。

var token = authContext.acquireToken('https://api.azuredatacatalog.com')

1 个答案:

答案 0 :(得分:0)

如果要使用adad.js调用Azure数据目录rest api,请参考以下步骤

  1. 注册Azure AD应用程序

  2. 配置权限 enter image description here

  3. 代码

var resource ="https://api.azuredatacatalog.com"
authContext.acquireToken(resource, function (error, token) {

            // Handle ADAL Error
            if (error || !token) {
                printErrorMessage('ADAL Error Occurred: ' + error);
                return;
            }

            // Get TodoList Data
            $.ajax({
                type: "GET",
                url: "https://api.azuredatacatalog.com/catalogs/{catalog_name}/search/search?api-version={api-version}&searchTerms={search_terms}",
                headers: {
                    'Authorization': 'Bearer ' + token,
                },
            });