billing: Stripe-Webhook von der Basic-Auth ausnehmen
Mit BASIC_AUTH_ENABLED=true (Staging) bekam Stripe für jeden Webhook-Call ein 401 — Zahlungen wurden nie erfüllt. Der Endpoint ist durch die Signaturprüfung (STRIPE_WEBHOOK_SECRET) geschützt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
0b01929f80
commit
67f6906b87
2 changed files with 13 additions and 0 deletions
|
|
@ -43,6 +43,13 @@ class BasicAuthMiddleware
|
|||
return $next($request);
|
||||
}
|
||||
|
||||
// Skip Basic Auth für den Stripe-Webhook — Stripe sendet keine
|
||||
// Zugangsdaten mit; der Endpoint ist durch die Signaturprüfung
|
||||
// (STRIPE_WEBHOOK_SECRET) geschützt.
|
||||
if ($request->is('stripe/webhook')) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
// Zugangsdaten aus der Config (gespeist aus .env). Ist nichts
|
||||
// konfiguriert, wird der Gate nicht erzwungen.
|
||||
$user = config('auth.basic.user');
|
||||
|
|
|
|||
|
|
@ -57,3 +57,9 @@ test('skips basic auth for api and livewire routes', function () {
|
|||
expect(handleBasicAuth(Request::create('/api/v1/press-releases', 'GET'))->getStatusCode())->toBe(200)
|
||||
->and(handleBasicAuth(Request::create('/livewire/update', 'POST'))->getStatusCode())->toBe(200);
|
||||
});
|
||||
|
||||
test('skips basic auth for the stripe webhook', function () {
|
||||
// Stripe kann keine Basic-Auth-Zugangsdaten mitsenden — der Endpoint
|
||||
// ist stattdessen durch die Webhook-Signaturprüfung geschützt.
|
||||
expect(handleBasicAuth(Request::create('/stripe/webhook', 'POST'))->getStatusCode())->toBe(200);
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue