diff --git a/flexiapi/app/Account.php b/flexiapi/app/Account.php index 2b8f3af..f1ba598 100644 --- a/flexiapi/app/Account.php +++ b/flexiapi/app/Account.php @@ -29,6 +29,13 @@ class Account extends Authenticatable protected $dates = ['creation_time']; public $timestamps = false; + protected static function booted() + { + static::addGlobalScope('domain', function (Builder $builder) { + $builder->where('domain', config('app.sip_domain')); + }); + } + public function passwords() { return $this->hasMany('App\Password'); diff --git a/flexiapi/app/Http/Controllers/AccountController.php b/flexiapi/app/Http/Controllers/AccountController.php index 26ff489..0b7af94 100644 --- a/flexiapi/app/Http/Controllers/AccountController.php +++ b/flexiapi/app/Http/Controllers/AccountController.php @@ -106,7 +106,7 @@ class AccountController extends Controller $request->validate(['identifier' => 'required|same:identifier_confirm']); Auth::logout(); - //$request->user()->delete(); + $request->user()->delete(); return redirect()->route('account.login'); } @@ -114,21 +114,18 @@ class AccountController extends Controller public function authenticate(Request $request) { $request->validate([ - 'username' => ['required', new SIP], + 'username' => 'required', 'password' => 'required' ]); - list($username, $domain) = explode('@', $request->get('username')); - - $account = Account::where('username', $username) - ->where('domain', $domain) + $account = Account::where('username', $request->get('username')) ->firstOrFail(); // Try out the passwords foreach ($account->passwords as $password) { if (hash_equals( $password->password, - Utils::bchash($username, $domain, $request->get('password'), $password->algorithm) + Utils::bchash($request->get('username'), config('app.sip_domain'), $request->get('password'), $password->algorithm) )) { Auth::login($account); return redirect()->route('account.index'); diff --git a/flexiapi/resources/views/account/login.blade.php b/flexiapi/resources/views/account/login.blade.php index f12508c..afae842 100644 --- a/flexiapi/resources/views/account/login.blade.php +++ b/flexiapi/resources/views/account/login.blade.php @@ -7,7 +7,7 @@ {!! Form::open(['route' => 'account.authenticate']) !!}