Yes, Deepkit can handle session management and authentication. Deepkit provides support for sessions through the @deepkit/session
module, which includes features such as session storage, session encryption, and session middleware.
Here is an example of how to use the session module in Deepkit:
import { App } from '@deepkit/app'; import { http } from '@deepkit/http'; import { sessionModule } from '@deepkit/session'; @http.middleware(sessionModule.middleware()) class MyController { @http.GET('/login') login() { // Handle login logic here } } const app = new App({ controllers: [MyController], imports: [sessionModule] }); app.run();
In this example, the session middleware is added to the MyController
class using the @http.middleware
decorator. This enables session management for all routes in the controller. The sessionModule
is imported in the App
configuration to enable session support.
You can customize the session configuration and storage by passing options to the sessionModule.middleware()
function and configuring the session module in the App
configuration. For more information on session management in Deepkit, you can refer to the Deepkit documentation.