Я пытаюсь встроить отчеты Power BI (данные, принадлежащие пользователю) в портал ServiceNow, который поддерживает только JavaScript. Поэтому я создал приложение Azure AD, используя Service Principal, и написал код ниже, используя node.js для получения токена доступа.
<script src="https://secure.aadcdn.microsoftonline-p.com/lib/1.0.14/js/adal.min.js"></script>
<body>
<a href="#" onclick="login();">login</a>
<a href="#" onclick="getToken()">access token</a>
</body>
<script type="text/javascript">
var configOptions = {
tenant: <tenantid>, // Optional by default, it sends common
clientId: <clientid>,
redirectUri: "https://login.live.com/oauth20_desktop.srf",
postLogoutRedirectUri: window.location.origin,
}
window.authContext = new AuthenticationContext(configOptions);
var isCallback = authContext.isCallback(window.location.hash);
authContext.handleWindowCallback();
function getToken(){
authContext.acquireToken("https://graph.microsoft.com",function(error, token){
console.log(error);
console.log(token);
})
}
function login(){
authContext.login();
}
</script>
Вопрос - Когда я выполняю приведенный выше код, я получаю id_token в URL браузера. Как я могу получить к нему доступ для дальнейшего встраивания? Каким должен быть redirect_uri
приложения Azure AD, чтобы мы получали токен в коде, а не в URL браузера?
Спасибо!