Skip to content

Commit 4091d52

Browse files
committed
ISSUE-345: login/logout
1 parent 64b06f5 commit 4091d52

File tree

4 files changed

+12
-22
lines changed

4 files changed

+12
-22
lines changed

.env.example

Lines changed: 0 additions & 3 deletions
This file was deleted.

config/services.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# config/services.yaml
2+
parameters:
3+
api_base_url: '%env(API_BASE_URL)%'
4+
env(API_BASE_URL): 'http://api.phplist.local/api/v2'
5+
26
services:
37
_defaults:
48
autowire: true
@@ -14,8 +18,8 @@ services:
1418

1519
PhpList\WebFrontend\Service\ApiClient:
1620
arguments:
17-
$baseUrl: '${env(API_BASE_URL):http://api.phplist.local/api/v2}'
18-
# calls:
21+
$baseUrl: '%api_base_url%'
22+
# calls:
1923
# - setAuthToken: ['%session.auth_token%']
2024

2125
PhpList\WebFrontend\Controller\:

src/Controller/SecurityController.php

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,10 @@ public function login(Request $request): Response
4040

4141
try {
4242
$authData = $this->apiClient->authenticate($username, $password);
43+
$this->session->set('auth_token', $authData['key']);
44+
$this->session->set('auth_expiry_date', $authData['key']);
45+
$this->apiClient->setAuthToken($authData['key']);
4346

44-
// Store token in session
45-
$this->session->set('auth_token', $authData['token']);
46-
47-
// Store user data if needed
48-
if (isset($authData['user'])) {
49-
$this->session->set('user', $authData['user']);
50-
}
51-
52-
// Set token for future API requests
53-
$this->apiClient->setAuthToken($authData['token']);
54-
55-
// Redirect to dashboard
5647
return $this->redirectToRoute('empty_start_page');
5748
} catch (Exception $e) {
5849
$error = 'Invalid credentials or server error: ' . $e->getMessage();
@@ -69,9 +60,7 @@ public function login(Request $request): Response
6960
#[Route('/logout', name: 'logout')]
7061
public function logout(): Response
7162
{
72-
// Clear session data
7363
$this->session->remove('auth_token');
74-
$this->session->remove('user');
7564

7665
return $this->redirectToRoute('login');
7766
}

src/Service/ApiClient.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ public function __construct(string $baseUrl)
3333
public function authenticate(string $username, string $password): array
3434
{
3535
try {
36-
$response = $this->request('POST', '/api/login', [
36+
$response = $this->request('POST', '/api/v2/sessions', [
3737
'json' => [
38-
'username' => $username,
38+
'loginName' => $username,
3939
'password' => $password,
4040
]
4141
]);
4242

43-
if (!isset($response['token'])) {
43+
if (!isset($response['key'])) {
4444
throw new \RuntimeException('Authentication failed: No token received');
4545
}
4646

0 commit comments

Comments
 (0)