我正在开发一个用 Next.js 开发的 PWA,它必须从 Wordpress 站点读取数据,而且我对这些技术还很陌生。
我安装了这些 Wordpress 插件:
- WPGraphQL
- WPGraphQL CORS
- WPGraphQL JWT 身份验证
具体来说,问题出现在最初的“登录表单”中。此表格只需要插入一个字母数字 ID(不是用户名/密码)。提交表单后,将使用查询的“where”参数中的 ID 向 Wordpress 端点运行 GraphQL 查询。就像是:
const GET_USER = gql`
query getTicket($ticketId: String) {
tickets(where: {ticketId: $ticketId}) {
nodes {
Ticket {
email
firstName
lastName
ticketId
}
}
}
}
`;
可公开访问的数据没有问题,一切正常。另一方面,如果我必须请求私人数据(例如用户电子邮件),我需要运行经过身份验证/授权的查询(授权:Bearer <token_here>)。
我知道在WPGraphQL JWT Authentication中有 2 个令牌:
- authToken:持续5分钟,然后你需要使用refreshToken生成另一个
- refreshToken:1 年持续时间
考虑到我不需要用户输入用户名/密码来执行允许生成令牌的变异登录,我可以使用什么方法?有没有类似没有过期的固定令牌(这可能是一个安全漏洞)?
谢谢