forked from Yara724/api
Fix 404 for invalid email of actors, added APIs for client settings
This commit is contained in:
@@ -23,10 +23,12 @@ export class LocalActorAuthGuard extends AuthGuard("actor") {
|
||||
const path = request.url;
|
||||
|
||||
if (!token) {
|
||||
if (path === "/actor/login") {
|
||||
const loginData = await this.actorAuthService.loginActors(request.body);
|
||||
if (this.isActorLoginRequest(request)) {
|
||||
const loginData = await this.actorAuthService.loginFromCredentials(
|
||||
request.body ?? {},
|
||||
);
|
||||
request.user = loginData;
|
||||
request.identity = request;
|
||||
request.identity = loginData;
|
||||
return true;
|
||||
} else {
|
||||
throw new UnauthorizedException("Token not found");
|
||||
@@ -59,6 +61,17 @@ export class LocalActorAuthGuard extends AuthGuard("actor") {
|
||||
return true;
|
||||
}
|
||||
|
||||
private isActorLoginRequest(request: {
|
||||
url?: string;
|
||||
path?: string;
|
||||
route?: { path?: string };
|
||||
}): boolean {
|
||||
const path = (request.route?.path ?? request.url ?? request.path ?? "")
|
||||
.split("?")[0]
|
||||
.replace(/\/+$/, "");
|
||||
return path === "/actor/login" || path.endsWith("/actor/login");
|
||||
}
|
||||
|
||||
private extractTokenFromHeader(request: Request): string | undefined {
|
||||
//@ts-ignore
|
||||
const [type, token] = request.headers.authorization?.split(" ") ?? [];
|
||||
|
||||
Reference in New Issue
Block a user