refactor(server): auth (#5895)

Remove `next-auth` and implement our own Authorization/Authentication system from scratch.

## Server

- [x] tokens
  - [x] function
  - [x] encryption

- [x] AuthController
  - [x] /api/auth/sign-in
  - [x] /api/auth/sign-out
  - [x] /api/auth/session
  - [x] /api/auth/session (WE SUPPORT MULTI-ACCOUNT!)

- [x] OAuthPlugin
  - [x] OAuthController
  - [x] /oauth/login
  - [x] /oauth/callback
  - [x] Providers
    - [x] Google
    - [x] GitHub

## Client

- [x] useSession
- [x] cloudSignIn
- [x] cloudSignOut

## NOTE:

Tests will be adding in the future
This commit is contained in:
liuyi
2024-03-12 10:00:09 +00:00
parent af49e8cc41
commit fb3a0e7b8f
148 changed files with 3407 additions and 2851 deletions
+4 -4
View File
@@ -406,7 +406,7 @@
"com.affine.appearanceSettings.windowFrame.description": "Windows 클라이언트의 모양을 사용자 정의합니다.",
"com.affine.appearanceSettings.windowFrame.frameless": "프레임 없이",
"com.affine.appearanceSettings.windowFrame.title": "윈도우 프레임 스타일",
"com.affine.auth.change.email.message": "현재 이메일은 {{email}}입니다. 이 이메일 주소로 임시 인증 링크를 보내 드리겠습니다.",
"com.affine.auth.verify.email.message": "현재 이메일은 {{email}}입니다. 이 이메일 주소로 임시 인증 링크를 보내 드리겠습니다.",
"com.affine.auth.change.email.page.subtitle": "아래에 새 이메일 주소를 입력하세요. 절차를 완료하기 위해 이 이메일 주소로 인증 링크를 보내드립니다.",
"com.affine.auth.change.email.page.success.subtitle": "축하합니다! AFFiNE Cloud 계정과 연결된 이메일 주소를 성공적으로 업데이트했습니다.",
"com.affine.auth.change.email.page.success.title": "이메일 주소를 업데이트했습니다!",
@@ -430,11 +430,11 @@
"com.affine.auth.reset.password.message": "비밀번호를 재설정할 수 있는 링크가 포함된 이메일을 받게 됩니다. 받은 편지함을 확인해 주세요.",
"com.affine.auth.reset.password.page.success": "비밀번호 재설정 성공",
"com.affine.auth.reset.password.page.title": "AFFiNE Cloud 비밀번호 재설정",
"com.affine.auth.send.change.email.link": "인증 링크 전송",
"com.affine.auth.send.verify.email.hint": "인증 링크 전송",
"com.affine.auth.send.reset.password.link": "재설정 링크 전송",
"com.affine.auth.send.set.password.link": "설정 링크 전송",
"com.affine.auth.sent": "보냄",
"com.affine.auth.sent.change.email.hint": "인증 링크를 보냈습니다.",
"com.affine.auth.sent.verify.email.hint": "인증 링크를 보냈습니다.",
"com.affine.auth.sent.change.password.hint": "비밀번호 재설정 링크를 보냈습니다.",
"com.affine.auth.sent.reset.password.success.message": "비밀번호가 업그레이드했습니다! 새 비밀번호로 AFFiNE Cloud에 로그인할 수 있습니다!",
"com.affine.auth.sent.set.password.hint": "비밀번호 설정 링크를 보냈습니다.",
@@ -908,7 +908,7 @@
"com.affine.settings.auto-check-description": "이 기능을 활성화하면, 정기적으로 새 버전을 자동으로 확인합니다.",
"com.affine.settings.auto-download-description": "이 기능을 활성화하면, 새 버전이 현재 디바이스에 자동으로 다운로드됩니다.",
"com.affine.settings.email": "이메일",
"com.affine.settings.email.action": "이메일 변경",
"com.affine.settings.email.action.change": "이메일 변경",
"com.affine.settings.member-tooltip": "다른 사람들과 협업할 수 있는 AFFiNE Cloud 활성화",
"com.affine.settings.noise-style": "Noise background on the sidebar",
"com.affine.settings.noise-style-description": "Use background noise effect on the sidebar.",