This commit is contained in:
Torsten 2024-12-04 20:44:53 +01:00
parent 58deb877e4
commit a9e7afd13a
2 changed files with 99 additions and 1 deletions

View file

@ -72,3 +72,55 @@ In AuthController::login:
```
https://shield.codeigniter.com/references/authentication/tokens/
My version:
```php
// Post
public function login()
{
if(auth()->loggedIn()){
auth()->logout();
}
$rules = [
"email" => "required|valid_email",
"password" => "required"
];
if (!$this->validate($rules)) {
return $this->respondCreated([
"status" => false,
"message" => $this->validator->getErrors(),
"data" => []
]);
// success
$credentials = [
"email" => $this->request->getVar("email"),
"password" => $this->request->getVar("password")
];
$loginAttempt = auth()->attempt($credentials);
if (!$loginAttempt->isOK()) {
return $this->respondCreated([
"status" => false,
"message" => "Invalid login details",
"data" => []
]);
// We have a valid data set
$um = new UserModel();
$userData = $um->findById(auth()->id());
$token = $userData->generateAccessToken("thisismysecretkey");
$auth_token = $token->raw_token; // Only available after generation
return $this->respondCreated( [
"status" => true,
"message" => "User logged in successfully",
"data" => [
"token" => $auth_token
] );
}
```