Definitelytyped: JWT

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 6 июн. 2017  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: DefinitelyTyped/DefinitelyTyped

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΊΠΎΠ΄ VS. Он основан Π½Π° TypeScript, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ всС опрСдСлСния TS. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ jsonwebtoken . jwt.sign(...,) Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Object.

// ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² для jsonwebtoken 7.2.0
// ΠŸΡ€ΠΎΠ΅ΠΊΡ‚: https://github.com/auth0/node-jsonwebtoken
// ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ: Максим Π›ΡŽΡ https://github.com/SomaticIT , Π”Π°Π½ΠΈΡΠ»ΡŒ Π₯Π΅ΠΉΠΌ https://github.com/danielheim
// ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ: https://github.com/DefinitelyTyped/DefinitelyTyped
// ВСрсия TypeScript: 2.2

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

Π’ JWT Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π½ΠΎ простой jwt.sign({userId: 1},...) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:

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'.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ @andy-ms, это связано с ошибкой Π² ​​TypeScript (Microsoft/TypeScript#16235).

ΠžΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚ΠΈΠΏΠ° (ΠΈΠ»ΠΈ привСдСния Ρ‚ΠΈΠΏΠΎΠ²);

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

jwt.sign(payload, secret)

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ исправлСно Microsoft/TypeScript#16290. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ с typescript@next Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ появится.

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ @andy-ms, это связано с ошибкой Π² ​​TypeScript (Microsoft/TypeScript#16235).

ΠžΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚ΠΈΠΏΠ° (ΠΈΠ»ΠΈ привСдСния Ρ‚ΠΈΠΏΠΎΠ²);

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

jwt.sign(payload, secret)

@mdebruijne Бпасибо, ΡƒΠΆΠ΅ сдСлал это.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ