我有一个ExpressJS应用,其中包含一些我在输入url时不希望使用的路由,只有当我从代码中重定向到它们时,它们才应该工作。
意思是,如果用户键入“ myapp.com/url”,它将不起作用。但是,如果我在代码中添加res.redirect(“ / url”),它就会起作用
答案 0 :(得分:2)
基本上,您不能阻止客户端向端点发送HTTP请求(您不能使其“不起作用”)。话虽如此,您的要求与使用JWT的登录逻辑没有什么不同。
您可以使用JWT设置客户端可以访问的端点。如果不允许客户,则将其重定向到其他页面。
请参阅:https://github.com/auth0/express-jwt
更新(请参阅评论): 提交表单时,您应该为请求生成一个UUID。此UUID将是代表临时资源(视频)的令牌。
这就是API看起来或多或少的样子。
POST /submit
GET /generated/:UUID
GET /download/:UUID
您将需要实现一些逻辑来管理此临时资源。
答案 1 :(得分:1)
这是不可能的,因为res.redirect(https://expressjs.com/en/4x/api.html#res.redirect)接受通过URL已经可用的路由。如果您不想发布到外界的路线,则可以在显示或发送数据之前进行某种授权。