使用 adalJS 访问 Azure Graph REST API
Accessing Azure Graph REST API using adalJS
我正在开发 AngularJS 应用程序,该应用程序使用 adalJS 通过 Azure AD 对用户进行身份验证。我正在尝试使用 Graph REST API 从 AD 访问登录用户的详细信息。但是我收到 401(未经授权:访问令牌丢失或格式错误)错误。下面是我的代码。
adalAuthenticationService.acquireToken("https://graph.windows.net/").then(function (token) {
console.log(token);
var req = {
method: 'GET',
url: 'https://graph.windows.net/me?api-version=1.5',
headers: {
'Authorization': 'Bearer ' + token
}
};
$http(req).then(function (response) {
console.log(response);
}, function (response) {
console.log(response);
});
});
我已经在 AAD 中创建了应用程序并配置了对 Azure AD 的权限。谁能详细说明这个错误?我传递的令牌不是访问令牌吗?
您需要为图表专门获取一个令牌。有关如何在 ADAL js 中调用酯网络 API 的示例,请参阅 https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet
我很久以前就想出了答案。通过在初始化 adalJS(在端点 属性 中)时指定 Graph API 端点,它正在为其获取令牌。
var endpoints = {
'https://graph.windows.net/': '00000002-0000-0000-c000-000000000000'
};
adalProvider.init({
'instance':'https://login.microsoftonline.com/',
'tenant': 'microsoft.onmicrosoft.com',
'clientId': '<client-id>',
'endpoints': endpoints
},$httpProvider);
我正在开发 AngularJS 应用程序,该应用程序使用 adalJS 通过 Azure AD 对用户进行身份验证。我正在尝试使用 Graph REST API 从 AD 访问登录用户的详细信息。但是我收到 401(未经授权:访问令牌丢失或格式错误)错误。下面是我的代码。
adalAuthenticationService.acquireToken("https://graph.windows.net/").then(function (token) {
console.log(token);
var req = {
method: 'GET',
url: 'https://graph.windows.net/me?api-version=1.5',
headers: {
'Authorization': 'Bearer ' + token
}
};
$http(req).then(function (response) {
console.log(response);
}, function (response) {
console.log(response);
});
});
我已经在 AAD 中创建了应用程序并配置了对 Azure AD 的权限。谁能详细说明这个错误?我传递的令牌不是访问令牌吗?
您需要为图表专门获取一个令牌。有关如何在 ADAL js 中调用酯网络 API 的示例,请参阅 https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet
我很久以前就想出了答案。通过在初始化 adalJS(在端点 属性 中)时指定 Graph API 端点,它正在为其获取令牌。
var endpoints = {
'https://graph.windows.net/': '00000002-0000-0000-c000-000000000000'
};
adalProvider.init({
'instance':'https://login.microsoftonline.com/',
'tenant': 'microsoft.onmicrosoft.com',
'clientId': '<client-id>',
'endpoints': endpoints
},$httpProvider);