mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-21 03:56:23 +08:00
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:
@@ -0,0 +1,25 @@
|
||||
import { AuthModule } from '../../core/auth';
|
||||
import { ServerFeature } from '../../core/config';
|
||||
import { UserModule } from '../../core/user';
|
||||
import { Plugin } from '../registry';
|
||||
import { OAuthController } from './controller';
|
||||
import { OAuthProviders } from './providers';
|
||||
import { OAuthProviderFactory } from './register';
|
||||
import { OAuthResolver } from './resolver';
|
||||
import { OAuthService } from './service';
|
||||
|
||||
@Plugin({
|
||||
name: 'oauth',
|
||||
imports: [AuthModule, UserModule],
|
||||
providers: [
|
||||
OAuthProviderFactory,
|
||||
OAuthService,
|
||||
OAuthResolver,
|
||||
...OAuthProviders,
|
||||
],
|
||||
controllers: [OAuthController],
|
||||
contributesTo: ServerFeature.OAuth,
|
||||
if: config => !!config.plugins.oauth,
|
||||
})
|
||||
export class OAuthModule {}
|
||||
export type { OAuthConfig } from './types';
|
||||
Reference in New Issue
Block a user