admaja / ritual-auth
该软件包最新版本(dev-master)没有可用的许可信息。
认证和活动日志记录软件包
dev-master
2022-02-06 02:46 UTC
This package is auto-updated.
Last update: 2024-09-06 08:12:46 UTC
README
- 安装 => composer require admaja/ritual-auth
- 配置
- 对于laravel:打开文件config/app.php,添加提供者Admaja\RitualAuth\RitualAuthServiceProvider::class
- 对于lumen:打开文件bootstrap/app.php,添加提供者 $app->register(Admaja\RitualAuth\RitualAuthServiceProvider::class);
然后,发布软件包 => php artisan ritualauth:publish。
下一步
-
删除Laravel的用户迁移文件
-
为SeetingTable表创建 Seeder
$rules = [ "auth" => [ "unique_code_type" => "email", "can_register" => true, "attempts" => 3, ], ]; Setting::create([ "last_updated_by" => "master", "rules" => json_encode($rules), "status" => "active" ]);
然后,播种这个类,您可以根据需要自定义SettingTable中的值,但上述代码是必须的。
-
安装 composer require hisorange/browser-detect,浏览器检测
使用示例
public function authenticate(Request $request) { $credentials = $this->validateAuth($request); $ritual = RitualAuth::attempt($request, $credentials); if($ritual["data"]->status == "blocked"){ return back()->withErrors([ 'email' => 'Maaf anda tidak bisa login untuk beberapa saat', ]); } if($ritual["status"] == true){ return "success"; } return back()->withErrors([ 'email' => 'Email atau Password salah, silahkan cek kembali email dan password anda', ]); } protected function validateAuth($request) { return $request->validate([ $this->username() => 'required|email', 'password' => 'required', ]); } protected function username() { return "email"; } public function logout(Request $request) { LoginInformation::where("user_id", auth()->user()->id)->update([ "status" => "logout" ]); $request->session()->invalidate(); return $request->wantsJson() ? new JsonResponse([], 204) : redirect()->route('auth.login.index'); }