为了账号安全,请及时绑定邮箱和手机立即绑定

msal typescript error 属性'accessToken'在类型'void

msal typescript error 属性'accessToken'在类型'void

潇湘沐 2022-09-02 20:56:41
下面的代码为 生成以下 TypeScript 错误:response.accessTokenTS2339:属性“accessToken”在类型“void |上不存在TokenResponse'.import * as Msal from '@azure/msal-browser'export async function getTokenPopup(request: Msal.TokenExchangeParameters) {  return await auth.acquireTokenSilent(request).catch(async () => {    return await auth.acquireTokenPopup(request).catch((error) => {      console.log('login with popup failed: ', error)    })  })}const getGraphDetails = async (  uri: string,  scopes: Msal.TokenExchangeParameters,  axiosConfig?: AxiosRequestConfig) => {  return getTokenPopup(scopes).then((response) => {      return callGraph(uri, response.accessToken, axiosConfig)  })}当检查 TokenResponse 的 TS 定义时,它清楚地表明该属性在对象上可用:accessTokenexport type TokenResponse = AuthResponse & {    uniqueId: string;    tenantId: string;    scopes: Array<string>;    tokenType: string;    idToken: string;    idTokenClaims: StringDict;    accessToken: string;    refreshToken: string;    expiresOn: Date;    account: Account;};我做错了什么?
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

只是一个关于你的,虽然你正在使用.我会这样写这段代码:catchawait


import * as Msal from '@azure/msal-browser'


export async function getTokenPopup(request: Msal.TokenExchangeParameters) {

    try {

        return await auth.acquireTokenSilent(request);

    } catch (error) {

        return await auth.acquireTokenPopup(request);

    }

}


const getGraphDetails = async (

    uri: string,

    scopes: Msal.TokenExchangeParameters,

    axiosConfig?: AxiosRequestConfig

) => {

    try {

        const response = await getTokenPopup(scopes);

        return callGraph(uri, response.accessToken, axiosConfig);

    } catch (error) {

        throw new Error("You could not get a token");

    }

}

现在,为什么要进入.有一种可能性,该函数将同时失败, 对于 和 。因此,该函数将引发错误(或不返回任何内容,具体取决于您的实现)。voidresponsegetTokenPopupacquireTokenSilentacquireTokenPopupgetTokenPopup


TypeScript 看到这一点,并添加一个类型以指示有可能无法获得响应。void


查看完整回答
反对 回复 2022-09-02
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信