75 lines
2.3 KiB
PHP
75 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\RegisterToken;
|
|
use App\Models\User;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class LoginController extends Controller
|
|
{
|
|
//
|
|
public function register(Request $request){
|
|
// messageStatus success|failure|not permitted
|
|
|
|
|
|
$json = ["messageStatus" => "failure", "errorMessage" => "idk"];
|
|
|
|
$mail = $request->input('mail');
|
|
$username = $request->input('username');
|
|
$password = Hash::make($request->input('password'));
|
|
$token = $request->input('token');
|
|
|
|
if(preg_match('/@c3gov\.de$/', $mail) != 1){
|
|
return ["messageStatus" => "not permitted", "errorMessage" => ""];
|
|
}
|
|
|
|
$rt = RegisterToken::where('token', $token)->first();
|
|
if($rt) {
|
|
$u = User::whereEmail($mail)->first();
|
|
if($u) {
|
|
return ["messageStatus" => "failure", "errorMessage" => "Diese elektronische Postadresse wird bereits verwendet."];
|
|
}
|
|
try {
|
|
$u = new User();
|
|
$u->name = $username;
|
|
$u->email = $mail;
|
|
$u->email_verified_at = now();
|
|
$u->password = $password;
|
|
$u->save();
|
|
|
|
$rt->delete();
|
|
} catch (\Exception $e) {
|
|
return ["messageStatus" => "failure", "errorMessage" => $e->getMessage()];
|
|
}
|
|
} else {
|
|
return ["messageStatus" => "failure", "errorMessage" => "Machen Sie die Musik aus."];
|
|
}
|
|
|
|
return ["messageStatus" => "success", "errorMessage" => ""];
|
|
}
|
|
|
|
public function login(Request $request){
|
|
$mail = $request->input('mail');
|
|
$password = $request->input('password');
|
|
|
|
$u = User::whereEmail($mail)->first();
|
|
if($u){
|
|
$u_pw = $u->password;
|
|
|
|
if(Hash::check($password, $u_pw)){
|
|
Auth::login($u);
|
|
return ["messageStatus" => "success", "errorMessage" => ""];
|
|
} else {
|
|
return ["messageStatus" => "failure", "errorMessage" => "Falsch. Einfach nur falsch."];
|
|
}
|
|
} else {
|
|
return ["messageStatus" => "failure", "errorMessage" => "Falsch. Einfach nur falsch."];
|
|
}
|
|
}
|
|
|
|
}
|