caido-plugin-test/packages/backend/src/controller/nonceCheck.ts
sultanofdisco c355038288 nonce check
oidc flow인지 check하고, nonce 유무를 체크한다
2025-05-24 14:25:44 +09:00

33 lines
841 B
TypeScript

import type { Request } from "caido:utils";
import { TokenLeakCheck } from "./tokenLeakCheck";
export class NonceCheckController{
/**
* 응답이 OIDC(OpenID Connect) 플로우인지 확인하는 메서드
*/
public static isOidcFlow(req: Request): boolean {
if(TokenLeakCheck.extractIdToken(req)) {
return true;
}
return false;
}
public static isNonceCheckRequest(req: Request): boolean {
const id_token = decodeIdToken(req);
// 1. nonce 파라미터가 포함된 요청인지 확인
if (id_token.includes("nonce=")) {
return true;
}
return false;
}
}
function decodeIdToken(req: Request): string {
// Implement actual decoding logic here. For now, return an empty string or mock value.
return "";
}