我们可以在 MSAL JS 中使用响应类型作为访问令牌进行身份验证吗
can we authenticate with response type as access token in MSAL JS
在我们的应用程序中,仅使用 AAD 对我们组织内的企业用户进行身份验证。
是否可以将响应类型设置为访问令牌而不是默认 id_token?这是我的配置。
// const msalConfig = {
// auth: {
// clientId: configuration.msal.clientId,
// tenantId:configuration.msal.tenantId,
// redirectUri: window.location.href
// },
// cache: {
// cacheLocation: 'sessionStorage',
// storeAuthStateInCookie: true
// }
// };
我收到错误,但是如果我在 Azure 应用程序注册身份验证下的身份验证中启用 id_token,它会再次工作。但是是否有可能仅在启用访问令牌的情况下完成身份验证。
msal handleRedirectCallback ServerError: AADSTS700054: response_type 'id_token' is not enabled for
the application.
T
您是说要使用授权代码流吗?如果是这样,你必须使用 MSAL v2.
编辑:抱歉,我看错了问题。
您不能直接使用 MSAL 请求访问令牌,您必须先登录 (id_token
),然后获取令牌 (access_token
)。
the docs.
中对此进行了全部解释
- MSAL.JS 用于实现浏览器级别的流程,例如
implicit flow.
- 隐式流需要 Id 令牌来验证用户是
他们声称是谁,并获得有关的其他有用信息
然后为了安全起见。
- 在隐式流程中,我们需要先使用 id 令牌进行授权,然后才能请求访问令牌。
- 仅当应用程序具有单页架构 (SPA)、没有后端组件时才建议使用隐式流。
您遇到错误是因为未启用隐式流。
要启用隐式流,请检查您注册的应用程序中的访问令牌和 ID 令牌,如下所述
在我们的应用程序中,仅使用 AAD 对我们组织内的企业用户进行身份验证。
是否可以将响应类型设置为访问令牌而不是默认 id_token?这是我的配置。
// const msalConfig = {
// auth: {
// clientId: configuration.msal.clientId,
// tenantId:configuration.msal.tenantId,
// redirectUri: window.location.href
// },
// cache: {
// cacheLocation: 'sessionStorage',
// storeAuthStateInCookie: true
// }
// };
我收到错误,但是如果我在 Azure 应用程序注册身份验证下的身份验证中启用 id_token,它会再次工作。但是是否有可能仅在启用访问令牌的情况下完成身份验证。
msal handleRedirectCallback ServerError: AADSTS700054: response_type 'id_token' is not enabled for
the application.
T
您是说要使用授权代码流吗?如果是这样,你必须使用 MSAL v2.
编辑:抱歉,我看错了问题。
您不能直接使用 MSAL 请求访问令牌,您必须先登录 (id_token
),然后获取令牌 (access_token
)。
the docs.
- MSAL.JS 用于实现浏览器级别的流程,例如 implicit flow.
- 隐式流需要 Id 令牌来验证用户是 他们声称是谁,并获得有关的其他有用信息 然后为了安全起见。
- 在隐式流程中,我们需要先使用 id 令牌进行授权,然后才能请求访问令牌。
- 仅当应用程序具有单页架构 (SPA)、没有后端组件时才建议使用隐式流。
您遇到错误是因为未启用隐式流。
要启用隐式流,请检查您注册的应用程序中的访问令牌和 ID 令牌,如下所述