我正在尝试嵌入Azure时间序列见解。存根应用程序提供了执行此操作的代码。我创建了一个应用程序注册,并向其添加了“时间序列”见解API权限。我还使用事件源创建了自己的时间序列环境。
现在,使用这段代码使用ADAL在JS库中进行身份验证。
var authContext = new AuthenticationContext({
clientId: 'xxxxx',
postLogoutRedirectUri: 'https://insights.timeseries.azure.com',
cacheLocation: 'localStorage'
});
通过这段代码,我获得了访问令牌。
var promise = new Promise(function (resolve, reject) {
authContext.acquireToken(
'https://api.timeseries.azure.com/',
function (error, token) {
console.log(token);
if (error || !token) {
console.log('Here');
// TODO: Handle error obtaining access token
document.getElementById('api_response').textContent = error;
document.getElementById('loginModal').style.display = "block";
document.getElementById('api_response2').textContent = '';
return;
}
//console.log('Token is ' + token);
// Use the access token
document.getElementById('api_response').textContent = '';
document.getElementById('api_response2').textContent = '';
document.getElementById('loginModal').style.display = "none";
resolve(token);
}
);
});
现在,如果我想为所有用户(而不只是我)嵌入此应用程序,我该怎么办?如果我在时间序列环境中将自己从数据访问策略中删除,则会收到404提示未找到资源。我可以使用其他身份验证方法吗?
我可以简单地将应用程序注册本身与客户端ID和密码一起使用吗?
答案 0 :(得分:1)
当前,您正在遵循在Time Series Insights上创建仅客户端应用程序的最佳机制。理想情况下,您会将要使用该应用程序的所有用户添加到该环境的数据访问策略中。如果您有服务器端,则可以使用服务主体发出请求,但这可能会使您的体系结构复杂化。更为方便的解决方案是将AAD组添加到数据访问策略中,但目前尚不支持...该功能正在产品积压中跟踪。希望有帮助!