-1

シンフォニー 5.3.10

PHP 8.0.8

(電子メールのリンクをクリックして) ユーザーのアクティブ化に使用するパブリック Webhook があります。

何かのようなもの:https://mydomain.fake/user/123-5346-6787-89-789/1234678567945asd

アクティベーションは api リクエストによって実行されるため、webhook のコントローラー内でサブリクエストを生成する必要があります

#[Route('/activate/{uuid}/{token}', name: 'webhook.user_settings')]
    public function index(string $uuid, string $token, Request $request, HttpKernelInterface $httpKernel): Response
    {

        $url = sprintf($request->getSchemeAndHttpHost() . "/api/user/%s/activate?token=%s",
            $uuid,
            $token
        );

        $request = Request::create($url, 'PATCH', [], [], [], [], json_encode([], \JSON_THROW_ON_ERROR));
        $request->setMethod('PATCH');
        $request->headers->set('Content-Type', 'application/merge-patch+json');

        $result = $httpKernel->handle($request, HttpKernelInterface::SUB_REQUEST);

        if ($result->getStatusCode() === Response::HTTP_OK) {
            $user = json_decode($result->getContent());
            $body = "<html><body><h2>Complimenti '" . $user->name . "', attivazione avvenuta con successo</h2></body></html>";
        } else {
            $body = "<html><body><h2>Ooops! Qualcosa è andato storto</h2></body></html>";
        }
        return new Response($body, $result->getStatusCode());
    }

今日まで機能していました(前回は数週間前にテストしましたが、数か月間は正常に機能しました)

APIへのリクエストが実行され、ユーザーはアクティブ化されました$resultが、状態は400です

Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\BadRequestHttpException: "There is currently no session available."

(Postman を使用して) API を直接呼び出すと、期待どおりに動作します。

どこが間違っていますか?

4

1 に答える 1