我将msal.js 1.0.1用于我的Vue.js SPA应用程序的Azure AD身份验证。 首先,我调用“ loginPopup”方法,将范围“ openid”和“ email”作为传递。我在响应中得到一个id_token,其中也包含用户电子邮件。
为了续签id_token,我通过在范围(如方法定义中所写)中传递我的Azure AD应用程序注册ID值(clientId)来调用“ acquireTokenSilent”方法,这是msal允许的唯一范围在这种情况下。但是新的ID令牌不包含电子邮件。
有人知道我该怎么做才能在新的id_token中同时携带电子邮件吗?
//for login
this.loginRequest = {
scopes: ["openid", "email"],
prompt: 'select_account'
}
this.msalnstance.loginPopup(this.loginRequest)
//for renewal
this.idTokenRequest = {
scopes: [process.env.VUE_APP_CLIENT_ID],
authority: process.env.VUE_APP_AUTHORITY,
prompt: 'none'
}
this.msalnstance.acquireTokenSilent(this.idTokenRequest)