Ошибка перегрузки знака JWT с помощью TypeScript [Duplicate]Javascript

Форум по Javascript
Ответить
Anonymous
 Ошибка перегрузки знака JWT с помощью TypeScript [Duplicate]

Сообщение Anonymous »

Получение следующей ошибки, когда я пытаюсь войти в систему с моим JWT. < /p>
No overload matches this call.
Overload 1 of 5, '(payload: string | object | Buffer, secretOrPrivateKey: null, options?: (SignOptions & { algorithm: "none"; }) | undefined): string', gave the following error.
Argument of type 'string' is not assignable to parameter of type 'null'.
Overload 2 of 5, '(payload: string | object | Buffer, secretOrPrivateKey: Buffer | Secret | PrivateKeyInput | JsonWebKeyInput, options?: SignOptions | undefined): string', gave the following error.
Type 'string' is not assignable to type 'number | StringValue | undefined'.
Overload 3 of 5, '(payload: string | object | Buffer, secretOrPrivateKey: Buffer | Secret | PrivateKeyInput | JsonWebKeyInput, callback: SignCallback): void', gave the following error.
Object literal may only specify known properties, and 'expiresIn' does not exist in type 'SignCallback'.
< /code>
Я где -то читал, это просто типовая, быть тупой. и использовать восклицание, что токен есть. TS не нужно проверять, но безрезультатно. < /P>
Что вызывает эту ошибку?
Как ее исправить?import dotenv from "dotenv";

dotenv.config();

const config: Config = {
port: Number(process.env.PORT) || 3000,
nodeEnv: process.env.NODE_ENV || "development",
jwt: {
accessSecret: process.env.JWT_ACCESS_SECRET!,
refreshSecret: process.env.JWT_REFRESH_SECRET!,
accessExpiry: "45m",
refreshExpiry: "7d",
},
};
export default config;

interface Config {
port: Number;
nodeEnv: string;
jwt: jwtConfig;
}
interface jwtConfig {
accessSecret: string;
refreshSecret: string;
accessExpiry: string;
refreshExpiry: string;
}
< /code>
и код JWT следующее: < /p>
import jwt from "jsonwebtoken";
import config from "../config/config";

export const generateAccessToken = (userId: string): string => {
return jwt.sign(
{
id: userId,
},
config.jwt.accessSecret,
{
expiresIn: config.jwt.accessExpiry,
}
);
};


Подробнее здесь: https://stackoverflow.com/questions/797 ... typescript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»