From 818e35bc9e89d1d80a9014199c9e5496594b9f5f Mon Sep 17 00:00:00 2001 From: AlphaNecron Date: Sat, 2 Oct 2021 11:43:24 +0700 Subject: [PATCH] chore(api): use `authorization` instead of `token` for auth header --- .eslintrc.js | 3 +-- readme.md | 4 ++-- src/components/ShareXDialog.tsx | 4 ++-- src/components/pages/Upload.tsx | 2 +- src/pages/api/shorten.ts | 4 ++-- src/pages/api/upload.ts | 4 ++-- src/pages/auth/login.tsx | 19 +++++++------------ 7 files changed, 17 insertions(+), 23 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 60ad851..86db7fe 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -19,7 +19,6 @@ module.exports = { 'react/react-in-jsx-scope': 'error', 'react/require-render-return': 'error', 'react/style-prop-object': 'warn', - '@next/next/no-img-element': 'off', - 'react/no-find-dom-node': 'off' + '@next/next/no-img-element': 'off' } }; diff --git a/readme.md b/readme.md index ea4dd4a..6ab2b83 100644 --- a/readme.md +++ b/readme.md @@ -22,7 +22,7 @@ yarn install # or npm install cp config.example.toml config.toml nano config.toml # edit the config file - yarn build # or npm build + yarn build # or npm run build yarn start # or npm start ``` @@ -89,7 +89,7 @@ - Discord bot ### Contribution - - All contribution must be made in `dev` branch, other contributions in `v0` will be rejected. + - All contribution must be made in `dev` branch, contributions in `v0` will be closed. ### Todo - Docker support diff --git a/src/components/ShareXDialog.tsx b/src/components/ShareXDialog.tsx index d36d862..c9de2af 100644 --- a/src/components/ShareXDialog.tsx +++ b/src/components/ShareXDialog.tsx @@ -16,7 +16,7 @@ export default function ShareXDialog({ open, onClose, token }) { RequestMethod: 'POST', RequestURL: `${apiUrl}/upload`, Headers: { - Token: token, + Authorization: token, Generator: generator, PreserveFileName: preserveFileName ? 'true' : '' }, @@ -34,7 +34,7 @@ export default function ShareXDialog({ open, onClose, token }) { RequestMethod: 'POST', RequestURL: `${apiUrl}/shorten`, Headers: { - Token: token + Authorization: token }, Body: 'FormURLEncoded', Arguments: { diff --git a/src/components/pages/Upload.tsx b/src/components/pages/Upload.tsx index 66cb2d6..83f79f8 100644 --- a/src/components/pages/Upload.tsx +++ b/src/components/pages/Upload.tsx @@ -29,7 +29,7 @@ export default function Upload() { const res = await fetch('/api/upload', { method: 'POST', headers: { - 'Token': token, + 'Authorization': token, 'Generator': generator, 'PreserveFileName': preserve ? 'true' : '' }, diff --git a/src/pages/api/shorten.ts b/src/pages/api/shorten.ts index 2ee59ea..c465967 100644 --- a/src/pages/api/shorten.ts +++ b/src/pages/api/shorten.ts @@ -7,11 +7,11 @@ import prisma from 'lib/prisma'; async function handler(req: NextApiReq, res: NextApiRes) { if (req.method !== 'POST') return res.forbid('Invalid method'); const usr = await req.user(); - if (!(req.headers.token || usr)) return res.forbid('Unauthorized'); + if (!(req.headers.authorization || usr)) return res.forbid('Unauthorized'); if (!config.shortener.allow_vanity) return res.forbid('Vanity URLs are not allowed'); const user = await prisma.user.findFirst({ where: { - token: req.headers.token + token: req.headers.authorization } }) || usr; if (!user) return res.forbid('Unauthorized'); diff --git a/src/pages/api/upload.ts b/src/pages/api/upload.ts index 6c2f078..5a5cbe0 100644 --- a/src/pages/api/upload.ts +++ b/src/pages/api/upload.ts @@ -14,10 +14,10 @@ const uploader = multer({ async function handler(req: NextApiReq, res: NextApiRes) { if (req.method !== 'POST') return res.forbid('Invalid method'); - if (!req.headers.token) return res.forbid('Unauthorized'); + if (!req.headers.authorization) return res.forbid('Unauthorized'); const user = await prisma.user.findFirst({ where: { - token: req.headers.token + token: req.headers.authorization } }); if (!user) return res.forbid('Unauthorized'); diff --git a/src/pages/auth/login.tsx b/src/pages/auth/login.tsx index ee2364c..62722b1 100644 --- a/src/pages/auth/login.tsx +++ b/src/pages/auth/login.tsx @@ -1,4 +1,4 @@ -import { Box, Button, Flex, FormControl, FormErrorMessage, FormLabel, Heading, Text, useColorModeValue, useToast, VStack } from '@chakra-ui/react'; +import { Box, Button, Center, FormControl, FormErrorMessage, FormLabel, Heading, Text, useColorModeValue, useToast, VStack } from '@chakra-ui/react'; import IconTextbox from 'components/IconTextbox'; import PasswordBox from 'components/PasswordBox'; import { Field, Form, Formik } from 'formik'; @@ -48,19 +48,14 @@ export default function Login() { isClosable: true, }); }; - const bg = useColorModeValue('gray.100', 'gray.700'); - const shadow = useColorModeValue('outline', 'dark-lg'); return ( - +
+ p={4} + w={300} + bg={useColorModeValue('gray.100', 'gray.700')} + boxShadow={useColorModeValue('outline', 'dark-lg')}> onSubmit(actions, values)} > @@ -100,7 +95,7 @@ export default function Login() { )} - +
); }