如果您有id_token MSAL,则获取access_token

时间:2018-07-27 08:08:11

标签: javascript azure msal

我正在使用MSAL lib授权我的SPA。 初始化:

msUserAgent = new Msal.UserAgentApplication(idApp, null, null, {});

致电loginPopup:

msUserAgent.loginPopup(['user.read'])
    .then((res) => console.log(res))
    .catch((err) => console.log(err));

设置我的凭据后,弹出窗口不会关闭,但会重定向到主页。然后,抓住根本没有被召唤。 在github上发布有关此内容的https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/174

重定向后,我的URL(在弹出窗口中)具有id_token(jwt-token),但是此页面尚未初始化msUserAgent。它会动态处理,我会在用户点击(idApp从后端获取)后初始化msUserAgent

问题: 使用MSAL lib拥有id_token(jwt-token)时,我可以获取access_token吗?

谢谢

1 个答案:

答案 0 :(得分:0)

要获取access_token,需要下一步:

  1. 将您重定向到的页面。您需要加载MSAL脚本
  2. msUserAgent需要在所有脚本加载后自动初始化
  3. MSAL检查URI中是否存在JWT令牌(重定向后),如果存在,立即发送静默请求并获取access_token并保存到sessionStorage(您可以在选项中更改为localStorage)