a54957aa74
OfficialBotService posts to /api/bots/official/join-tournament, but the auth interceptor's protected-endpoint whitelist omitted /api/bots, so no Authorization header was sent and the request hit the official- bots service anonymously -> 401. Add /api/bots to the whitelist. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Reviewed-on: #12
25 lines
712 B
TypeScript
25 lines
712 B
TypeScript
import { HttpInterceptorFn } from '@angular/common/http';
|
|
|
|
export const authInterceptor: HttpInterceptorFn = (req, next) => {
|
|
const token = localStorage.getItem('token');
|
|
|
|
const isProtectedEndpoint =
|
|
req.url.includes('/api/account/me') ||
|
|
req.url.includes('/api/account/bots') ||
|
|
req.url.includes('/api/account/official-bots') ||
|
|
req.url.includes('/api/board/game') ||
|
|
req.url.includes('/api/challenge') ||
|
|
req.url.includes('/api/tournament') ||
|
|
req.url.includes('/api/bots');
|
|
|
|
if (token && isProtectedEndpoint && !req.headers.has('Authorization')) {
|
|
req = req.clone({
|
|
setHeaders: {
|
|
Authorization: `Bearer ${token}`
|
|
}
|
|
});
|
|
}
|
|
|
|
return next(req);
|
|
};
|