diff --git a/app/Http/Controllers/Api/TunnelController.php b/app/Http/Controllers/Api/TunnelController.php index ea7f2f5..055f743 100644 --- a/app/Http/Controllers/Api/TunnelController.php +++ b/app/Http/Controllers/Api/TunnelController.php @@ -61,6 +61,12 @@ public function store(Request $request) return $this->error('找不到服务器。'); } + if ($server->is_china_mainland) { + if (!auth()->user()->realnamed) { + return $this->error('必须要先实名认证才能创建中国大陆的隧道。'); + } + } + if (Tunnel::where('server_id', $server->id)->count() > $server->max_tunnels) { return $this->error('服务器无法开设更多隧道了。'); } diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 267aebb..219ae14 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -22,7 +22,7 @@ public function redirect(Request $request): RedirectResponse 'client_id' => config('oauth.client_id'), 'redirect_uri' => config('oauth.callback_uri'), 'response_type' => 'code', - 'scope' => 'user', + 'scope' => 'user realname', 'state' => $state, ]); @@ -80,10 +80,15 @@ public function callback(Request $request): RedirectResponse 'name' => $oauth_user->name ]); } - // $api_token = $user->api_token; } - Auth::loginUsingId($user->id, true); + if (!is_null($oauth_user->real_name_verified_at)) { + $user_sql->update([ + 'realnamed' => true + ]); + } + + Auth::guard('web')->loginUsingId($user->id, true); return redirect()->route('index'); } @@ -109,7 +114,7 @@ protected function password_rules(): array public function logout(): RedirectResponse { - Auth::logout(); + Auth::guard('web')->logout(); return redirect()->route('index'); } } diff --git a/app/Models/User.php b/app/Models/User.php index 9b072e9..cac377c 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -22,7 +22,8 @@ class User extends Authenticatable 'name', 'email', 'password', - 'traffic' + 'traffic', + 'realnamed' ]; /** diff --git a/database/migrations/2023_05_14_094027_add_realnamed_to_users_table.php b/database/migrations/2023_05_14_094027_add_realnamed_to_users_table.php new file mode 100644 index 0000000..5f92e56 --- /dev/null +++ b/database/migrations/2023_05_14_094027_add_realnamed_to_users_table.php @@ -0,0 +1,28 @@ +boolean('realnamed')->default(false)->after('remember_token'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('realnamed'); + }); + } +}; diff --git a/resources/js/components/Nav.vue b/resources/js/components/Nav.vue index eccb972..7b175ac 100644 --- a/resources/js/components/Nav.vue +++ b/resources/js/components/Nav.vue @@ -36,6 +36,13 @@ >文档 +
剩余流量: {{ user.traffic }}GB
+ +