[PyJWT] jwt.encode( )가 bytes-str이 아닌 str타입을 리턴 시

개발/Flask 2021. 11. 8. 08:20

jwt.decode('utf-8')에서 AttributeError: 'str' object has no attribute 'decode'. AttributeError: 'str' object has no attribute 'decode'. 와 같은 AtrributeError가 발생하였다. 원인 원인은 PyJWT 모듈의 버전 2.0.0 부터 jwt.encode가 리턴한 token의 타입이 bytes에서 str로 변경되였기 때문이다. 해결 방법 PyJWT의 버전을 2.0.0의 직전 버전인 1.7.1으로 변경하면 임시방편으로 해당 에러는 발생하지 않는다. 추후 2.0.0 버전 이상에서는 decode를 어떻게 하는지 추가할 예정이다. 참고) https://github.com/jazzband/djangorestf..

[TypeScript] array에 원하는 요소 추가하고, 삭제하기

개발/ReactJS 2021. 11. 6. 08:20

React에서 useState로 Array 타입을 관리하다보면, array에 요소를 추가하거나 삭제해야되는 경우가 있다. 추가하는 경우, 아래와 같이 array.concat()을 활용하거나, setArray([...array, 추가할 요소)]의 방식을 사용한다. const addArray = (item: any) => { array.concat(item); } 삭제하는 경우, 아래와 같이 array.filter를 사용하여 요소를 삭제한다. const deleteResource = async (id: number) => { array.filter((i) => i !== id); // id와 다를 경우, 삭제한다. };

[Github] [remote rejected] (refusing to allow a Personal Access Token to create or update workflow) 에러 발생 시 해결

개발/Flask 2021. 11. 5. 08:20

Github Action 파일을 추가하고 git push를 했더니 Personal Access Token에 workflow 권한이 없어서 [remote rejected] (refusing to allow a Personal Access Token to create or update workflow ~ 와 같은 에러가 발생되었다. Github -> settings -> 사이드 바에서 development settings 혹은 development -> Personal Access Token 순으로 이동하면, 현재 사용하고 있는 토큰이 리스트로 쭉 나타날 텐데 현재 사용하고 있는 토큰을 클릭해서 내리다보면 Select Scopes라 되어있는 부분이 있다. 여기서 체크가 되어있지 않은 workflow에 체크를..

Article Thumbnail
useForm 사용하여 로그인 & 회원가입 구현 - 1.로그인

개발/ReactJS 2021. 11. 4. 08:20

기존 프로젝트의 회원가입 & 로그인은 아래와 같이 global state로 유저 email, 비밀번호, 이름 등의 정보를 관리하여 한번에 signup 혹은 login API를 호출할 때, body에 json 형태로 담아 호출하는 방식으로 진행하였다. //ridge.ts export const signupState = newRidgeState({ email: '', password: '', name: '', username: '', hiddenUsername: '', description: '', }); //signupPage.tsx const SignUpPage = () => { const [email, setEmail] = useState(''); const [password, setPassword] ..