summaryrefslogtreecommitdiff
path: root/src/Controllers/LoginController.php
blob: f5ca3be7137887a60c8ca3e809ae8d25f1727732 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

namespace App\Controllers;

use App\Types\LoginFlow;
use App\Types\LoginType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;

class LoginController
{
  public function supportedLoginTypes(): Response
  {
    return new JsonResponse([
      "flows" => [
        (new LoginFlow(LoginType::PASSWORD))->toArray(),
      ],
    ]);
  }

  public function login(): Response
  {
    $request = Request::createFromGlobals();

    return new JsonResponse([
      "access_token" => "abc123",
      "device_id" => "ABC",
      "expires_in_ms" => 60000,
      "refresh_token" => "def456",
      "user_id" => "@php:localhost",
      #"well_known" => [],
    ]);
  }
}