|
|
|
|
@ -10,15 +10,18 @@ namespace OC\Authentication\Login; |
|
|
|
|
|
|
|
|
|
use OC\Core\Controller\ClientFlowLoginV2Controller; |
|
|
|
|
use OCP\ISession; |
|
|
|
|
use OCP\IURLGenerator; |
|
|
|
|
|
|
|
|
|
class FlowV2EphemeralSessionsCommand extends ALoginCommand { |
|
|
|
|
public function __construct( |
|
|
|
|
private ISession $session, |
|
|
|
|
private IURLGenerator $urlGenerator, |
|
|
|
|
) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function process(LoginData $loginData): LoginResult { |
|
|
|
|
if (str_starts_with($loginData->getRedirectUrl() ?? '', '/login/v2/grant')) { |
|
|
|
|
$loginV2GrantRoute = $this->urlGenerator->linkToRoute('core.ClientFlowLoginV2.grantPage'); |
|
|
|
|
if (str_starts_with($loginData->getRedirectUrl() ?? '', $loginV2GrantRoute)) { |
|
|
|
|
$this->session->set(ClientFlowLoginV2Controller::EPHEMERAL_NAME, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|