Skip to content

Commit b8b5605

Browse files
authored
Merge pull request #39 from simplesamlphp/tvdijen-patch-2
Fix mis-use of the StreamedResponse (0.11)
2 parents 9bbe322 + 1c41255 commit b8b5605

2 files changed

Lines changed: 20 additions & 19 deletions

File tree

lib/Controller/AuthProcess.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
use Symfony\Component\HttpFoundation\Request;
1919
use Symfony\Component\HttpFoundation\RedirectResponse;
2020
use Symfony\Component\HttpFoundation\Response;
21-
use Symfony\Component\HttpFoundation\StreamedResponse;
2221

2322
/**
2423
* Controller class for the webauthn module.
@@ -92,8 +91,7 @@ public function setLogger(Logger $logger): void
9291
/**
9392
* @param \Symfony\Component\HttpFoundation\Request $request
9493
* @return (\Symfony\Component\HttpFoundation\RedirectResponse|
95-
* \SimpleSAML\HTTP\RunnableResponse|
96-
* \Symfony\Component\HttpFoundation\StreamedResponse) A Symfony Response-object.
94+
* \SimpleSAML\HTTP\RunnableResponse) A Symfony Response-object.
9795
*/
9896
public function main(Request $request): Response
9997
{
@@ -177,12 +175,14 @@ public function main(Request $request): Response
177175
$this->authState::saveState($state, 'webauthn:request');
178176

179177
if ($debugEnabled) {
180-
$response = new StreamedResponse();
181-
$response->setCallback(function ($authObject, $state) {
182-
echo $authObject->getDebugBuffer();
183-
echo $authObject->getValidateBuffer();
184-
echo "Debug mode, not continuing to " . ($state['FIDO2WantsRegister'] ? "credential registration page." : "destination.");
185-
});
178+
$response = new RunnableResponse(
179+
function ($authObject, $state) {
180+
echo $authObject->getDebugBuffer();
181+
echo $authObject->getValidateBuffer();
182+
echo "Debug mode, not continuing to " . ($state['FIDO2WantsRegister'] ? "credential registration page." : "destination.");
183+
},
184+
[$authObject, $state]
185+
);
186186
} else {
187187
if ($state['FIDO2WantsRegister']) {
188188
$response = new RedirectResponse(

lib/Controller/RegProcess.php

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
use Symfony\Component\HttpFoundation\Request;
2020
use Symfony\Component\HttpFoundation\RedirectResponse;
2121
use Symfony\Component\HttpFoundation\Response;
22-
use Symfony\Component\HttpFoundation\StreamedResponse;
2322

2423
/**
2524
* Controller class for the webauthn module.
@@ -92,7 +91,7 @@ public function setLogger(Logger $logger): void
9291

9392
/**
9493
* @param \Symfony\Component\HttpFoundation\Request $request
95-
* @return \Symfony\Component\HttpFoundation\RedirectResponse|\SimpleSAML\HTTP\RunnableResponse|\Symfony\Component\HttpFoundation\StreamedResponse
94+
* @return \Symfony\Component\HttpFoundation\RedirectResponse|\SimpleSAML\HTTP\RunnableResponse
9695
* A Symfony Response-object.
9796
*/
9897
public function main(Request $request): Response
@@ -196,14 +195,16 @@ public function main(Request $request): Response
196195

197196
$id = $this->authState::saveState($state, 'webauthn:request');
198197
if ($debugEnabled === true) {
199-
$response = new StreamedResponse();
200-
$response->setCallback(function ($regObject, $id) {
201-
echo $regObject->getDebugBuffer();
202-
echo $regObject->getValidateBuffer();
203-
echo "<form id='regform' method='POST' action='" .
204-
Module::getModuleURL('webauthn/webauthn.php?StateId=' . urlencode($id)) . "'>";
205-
echo "<button type='submit'>Return to previous page.</button>";
206-
});
198+
$response = new RunnableResponse(
199+
function ($regObject, $id) {
200+
echo $regObject->getDebugBuffer();
201+
echo $regObject->getValidateBuffer();
202+
echo "<form id='regform' method='POST' action='" .
203+
Module::getModuleURL('webauthn/webauthn.php?StateId=' . urlencode($id)) . "'>";
204+
echo "<button type='submit'>Return to previous page.</button>";
205+
},
206+
[$regObject, $id]
207+
);
207208
} elseif (array_key_exists('Registration', $state)) {
208209
$response = new RedirectResponse(Module::getModuleURL('webauthn/webauthn.php?StateId=' . urlencode($id)));
209210
} else {

0 commit comments

Comments
 (0)