Definitelytyped: JWT

Dibuat pada 6 Jun 2017  ·  3Komentar  ·  Sumber: DefinitelyTyped/DefinitelyTyped

Saya menggunakan Kode VS. Ini didasarkan pada TypeScript, ia menggunakan semua definisi TS. Masalahnya adalah dengan perpustakaan jsonwebtoken . jwt.sign(...,) tidak memiliki Objek.

// Ketik definisi untuk jsonwebtoken 7.2.0
// Proyek: https://github.com/auth0/node-jsonwebtoken
// Definisi oleh: Maxime LUCE https://github.com/SomaticIT , Daniel Heim https://github.com/danielheim
// Definisi: https://github.com/DefinitelyTyped/DefinitelyTyped
// Versi TypeScript: 2.2

export declare function sign(payload: string | Buffer | object, secretOrPrivateKey: string | Buffer, options: SignOptions, callback: SignCallback): void;

Di JWT Anda dapat melewatkan objek apa pun yang Anda inginkan, tetapi jwt.sign({userId: 1},...) tidak berfungsi, katanya:

Argument of type '{ userId: number; }' is not assignable to parameter of type 'string | object | Buffer'.
  Object literal may only specify known properties, and 'userId' does not exist in type 'string | object | Buffer'.

Komentar yang paling membantu

Seperti yang disebutkan @andy-ms, ini karena bug di TypeScript (Microsoft/TypeScript#16235)

Solusinya adalah dengan menggunakan inferensi tipe (atau casting), misalnya;

const payload = { "foo": "bar" }

jwt.sign(payload, secret)

Semua 3 komentar

Harus diperbaiki oleh Microsoft/TypeScript#16290. Silakan mencobanya dengan typescript@next setelah itu masuk.

Seperti yang disebutkan @andy-ms, ini karena bug di TypeScript (Microsoft/TypeScript#16235)

Solusinya adalah dengan menggunakan inferensi tipe (atau casting), misalnya;

const payload = { "foo": "bar" }

jwt.sign(payload, secret)

@mdebruijne Terima kasih, sudah melakukannya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat