gpt4 book ai didi

typescript - 类型 'idToken' 上不存在属性 'CognitoUserSession'

转载 作者:行者123 更新时间:2023-12-05 01:33:06 24 4
gpt4 key购买 nike

我正在尝试从 userData 中的 idToken 中解构 payload

userData 属于 CognitoUserSession 类型。

import { CognitoUser } from "@aws-amplify/auth";
import { CognitoUserSession, CognitoIdToken } from "amazon-cognito-identity-js";

const userData = await Auth.currentSession().catch(e => console.log(e));
if (!userData) {
console.log(`User data : ${userData}`);
updateUser({} as CognitoUser);
return;
}
const {
idToken: { payload: CognitoIdToken }
} : CognitoUserSession = userData;

但我得到的错误是 idToken 在类型 CognitoUserSession 上不存在 但在它的类中它存在。

export interface ICognitoUserSessionData {
IdToken: CognitoIdToken;
AccessToken: CognitoAccessToken;
RefreshToken?: CognitoRefreshToken;
}

export class CognitoUserSession {
constructor(data: ICognitoUserSessionData);

public getIdToken(): CognitoIdToken;
public getRefreshToken(): CognitoRefreshToken;
public getAccessToken(): CognitoAccessToken;
public isValid(): boolean;
}

export class CognitoAccessToken {
payload: { [key: string]: any };

constructor({ AccessToken }: { AccessToken: string });

public getJwtToken(): string;
public getExpiration(): number;
public getIssuedAt(): number;
public decodePayload(): { [id: string]: any };
}

export class CognitoIdToken {
payload: { [key: string]: any };

constructor({ IdToken }: { IdToken: string });

public getJwtToken(): string;
public getExpiration(): number;
public getIssuedAt(): number;
public decodePayload(): { [id: string]: any };
}

最佳答案

我认为 AWS 团队更新了 aws-amplify 包。如果您想解构,请使用旧包 aws-amplify。您正在使用新包 @aws-amplify/auth,它现在使用 getter 函数,因此您无法再进行解构。

尝试 const { payload } = (await Auth.currentSession()).getIdToken()

关于typescript - 类型 'idToken' 上不存在属性 'CognitoUserSession',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64821492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com