MCPcopy Create free account
hub / github.com/Datakitpage/Datakit / refresh

Method refresh

backend/api/src/auth/auth.controller.ts:135–167  ·  view source on GitHub ↗
(@Request() req, @Response() res)

Source from the content-addressed store, hash-verified

133 @Post('refresh')
134 @HttpCode(HttpStatus.OK)
135 async refresh(@Request() req, @Response() res) {
136 const refreshToken = req.cookies?.refresh_token;
137
138 if (!refreshToken) {
139 throw new UnauthorizedException('No refresh token provided');
140 }
141
142 const ipAddress = req.ip || req.connection.remoteAddress;
143 const userAgent = req.get('User-Agent');
144
145 const result = await this.authService.refreshAccessToken(
146 refreshToken,
147 ipAddress,
148 userAgent,
149 );
150
151 // Set new httpOnly cookies
152 res.cookie('access_token', result.access_token, {
153 httpOnly: true,
154 secure: process.env.NODE_ENV === 'production',
155 sameSite: process.env.NODE_ENV === 'production' ? 'none' : 'lax',
156 maxAge: 15 * 60 * 1000, // 15 minutes
157 });
158
159 res.cookie('refresh_token', result.refresh_token, {
160 httpOnly: true,
161 secure: process.env.NODE_ENV === 'production',
162 sameSite: process.env.NODE_ENV === 'production' ? 'none' : 'lax',
163 maxAge: 7 * 24 * 60 * 60 * 1000, // 7 days
164 });
165
166 return res.json({ message: 'Tokens refreshed successfully' });
167 }
168
169 @Post('logout')
170 @HttpCode(HttpStatus.OK)

Callers 1

Calls 2

refreshAccessTokenMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected