小编Bra*_*den的帖子

如何从 @types/jsonwebtoken 添加附加属性到 JwtPayload 类型

我是打字稿新手,正在尝试移植快速应用程序以使用打字稿。服务器使用 JWT 进行身份验证/授权,我有一个实用程序函数可以解码和验证给定的令牌。该函数被包装在一个承诺中,因此我可以在实现它的中间件中使用 async/await。

import httpError from 'http-errors';
import jwt from 'jsonwebtoken';

const { ACCESS_TOKEN_SECRET } = process.env;

export function verifyAccessToken(token: string): Promise<jwt.JwtPayload | undefined> {
  return new Promise((resolve, reject) => {
    jwt.verify(token, ACCESS_TOKEN_SECRET as string, (err, payload) => {
      if (err) {
        return reject(new httpError.Unauthorized());
      }
      return resolve(payload);
    });
  });
}
Run Code Online (Sandbox Code Playgroud)

这个函数工作正常,但是我在 JWT 中有更多信息。具体来说,我有一个role属性,因此有效负载的类型为:

{
  sub: string,  // ID issued by mongoose
  role: string, // My new information that is causing error
  iat: number,
  exp: number
} …
Run Code Online (Sandbox Code Playgroud)

types jwt typescript definitelytyped express-jwt

10
推荐指数
2
解决办法
1万
查看次数

如何动态访问嵌套错误/触及 formik 字段

我正在尝试创建一个 React 组件来抽象为我的表单创建一个输入组。所有输入都具有相同的布局 - 一个标签,下面是输入,如果存在错误/信息文本,这些将显示在输入下。

以前我正在处理我自己的表单状态/处理程序。现在我正在尝试使用 formik(使用 Yup 验证),error并且touched在嵌套信息时动态访问和字段时遇到了问题。

这是我的输入组组件:

import React from 'react';
import { FormGroup, Label, Input, FormFeedback, FormText } from 'reactstrap';
import { Field, ErrorMessage } from 'formik';

const InputGroup = ({ name, label, type, info, required }) => {
  return (
    <FormGroup>
      <Label htmlFor={name}>{label}{required && '*'}</Label>
      <Field name={name}>
        {({field, form}) => (
          <Input {...field} id={name} type={
                 invalid={form.errors[name] && form.touched[name]} //problem here
          />
        )}
      </Field>
      {info && <FormText color="muted">{info}</FormText>}
      <ErrorMessage name={name}>
          {msg => …
Run Code Online (Sandbox Code Playgroud)

javascript twitter-bootstrap reactjs reactstrap formik

7
推荐指数
1
解决办法
7477
查看次数