하수라 + 슈퍼토큰
2774 단어 supertokenshasurajavascript
장점
단점
최근 비디오에서 Supertokens에 대해 들었습니다. 오픈 소스이고 postgres에서 실행되며 자체 호스팅이 가능하기 때문에 타사 인증 사용과 관련된 일부 문제를 제거할 수 있는지 확인하고 싶었습니다.
가장 빨리 시도해 볼 수 있는 방법은 사용자 지정 JWT 대신 인증에 Supertoken을 사용하도록 내 코드Hasura Starters를 리팩토링하는 것이었습니다.
내 기존 코드베이스는 몇 가지custom actions를 사용하여 공통 인증 워크플로를 제공합니다.
Supertokens에서 제공하는 UI 구성 요소를 사용하는 대신 사용자 지정 코드 대신 Supertokens와 상호 작용하도록 각 작업을 다시 작성하고 싶었습니다. 모든 것이 멋지게 밝혀졌습니다! 예를 들어, 손으로 만든 모든 사용자 등록 코드는 다음 한 줄로 바뀌었습니다.
const signup = await EmailPassword.signUp(email, password)
다른 모든 사용자 지정 작업도 쉽게 변환할 수 있었습니다. 약간 못생긴 유일한 코드는 jwt가 로그인 작업( based on this code )에서 반환되도록 하는 프로세스입니다.
await Session.createNewSession(res, user.id)
let sessionHandles = await Session.getAllSessionHandlesForUser(user.id)
let token = ''
for (const handle of sessionHandles) {
const sessionInfo = await Session.getSessionInformation(handle)
const jwt = sessionInfo.accessTokenPayload["jwt"]
if (jwt) {
token = jwt
}
}
사용자에게 많은 세션이 있는 경우 여기서 무슨 일이 일어날지 잘 모르겠습니다. createNewSession에 제공되는 응답 개체도 사용자 브라우저의 요청이 아니라 노드에 대한 Hasura의 호출에서 나옵니다. 응답 객체가 필요하지 않은 createNewSession 버전이 있으면 좋을 것입니다.
슈퍼토큰에 대해 내가 찾은 다른 좋은 점은 다음과 같습니다.
그러나 앞으로의 프로젝트에서 슈퍼토큰을 사용할 것인지 아직 100% 확신할 수 없습니다. 장기적인 부채가 될 수 있다고 걱정되는 몇 가지 사항이 있습니다.
Reference
이 문제에 관하여(하수라 + 슈퍼토큰), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aaronblondeau/hasura-supertokens-4h2a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)