GA黄金甲

laravel 实现app端登录

随着智能手机应用一直增添,移动应用开发的需求日益增添,用户的登录已经成为移动应用中很是主要的功效之一,由于用户的登录不但可以  ;び没畔⒌那寰,还可以利便用户在差别装备上快速的会见他们的信息。laravel 是一款盛行的 php 框架,它提供了许多内置的功效和扩展包来资助开发者实现应用的种种功效,包括 app 端的登录功效。本文将先容怎样使用 laravel 实现 app 端登录功效。

一. Laravel 的装置和设置

在最先实现 Laravel 中的 APP 端登录功效之前,需要装置和设置 Laravel 情形。首先需确保已经装置 Composer 工具(https://getcomposer.org/)。接下来,运行以下下令在你的盘算机中装置 Laravel。

composer create-project --prefer-dist laravel/laravel myapp

登录后复制

其中,“myapp”是你想要建设的 Laravel 应用程序的名称。

装置完成后,可以进入 myapp 目录并运行以下下令来启动一个外地开发效劳器。

php artisan serve

登录后复制

会见 http://localhost:8000 可以看到 Laravel 的接待页面。接着,需要装置和设置 Passport 扩展包,以支持 APP 端的登录功效。

运行以下下令来装置 Passport 扩展包:

composer require laravel/passport

登录后复制

装置完成后,运行以下下令来天生须要的 Passport 密钥:

php artisan passport:keys

登录后复制

接下来,运行以下下令来天生 Passport 的数据库迁徙:

php artisan migrate

登录后复制

二. 实现 APP 端登录功效

建设用户模子和控制器

首先,需要建设一个用户模子,以便应用程序可以治理用户。运行以下下令来建设名为 User 的模子:

php artisan make:model User

登录后复制

接下来,建设一个名为 AuthController 的控制器,并在其中添加以下代码:

<?php

namespace AppHttpControllers;

use AppModelsUser;
use IlluminateHttpRequest;
use IlluminateSupportFacadesAuth;
use Validator;

class AuthController extends Controller
{
    public function register(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'name' => 'required',
            'email' => 'required|email|unique:users',
            'password' => 'required',
        ]);

        if ($validator->fails()) {
            return response()->json(['error' => $validator->errors()], 401);
        }

        $user = new User;
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = bcrypt($request->password);
        $user->save();

        $token = $user->createToken('MyApp')->accessToken;

        return response()->json(['token' => $token], 200);
    }

    public function login(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'email' => 'required|email',
            'password' => 'required',
        ]);

        if ($validator->fails()) {
            return response()->json(['error' => $validator->errors()], 401);
        }

        $credentials = $request->only('email', 'password');

        if (Auth::attempt($credentials)) {
            $user = Auth::user();
            $token = $user->createToken('MyApp')->accessToken;
            return response()->json(['token' => $token], 200);
        } else {
            return response()->json(['error' => 'Unauthorized'], 401);
        }
    }
}

登录后复制

在上面的代码中,register 要领允许用户举行注册,login 要领允许用户举行登录。若是用户乐成举行注册或登录,则会返回一个会见令牌,该令牌将用于举行后续的用户请求。

建设 API 路由

接下来,需要建设响应的 API 路由来处置惩罚用户的登录和注册请求。在 routes/api.php 文件中,添加以下代码:

<?php

use IlluminateHttpRequest;
use IlluminateSupportFacadesRoute;
use AppHttpControllersAuthController;

Route::post('/register', [AuthController::class, 'register']);
Route::post('/login', [AuthController::class, 'login']);

登录后复制

上面的代码将注册和登录请求映射到 AuthController 控制器中的响应要领。

三. 测试登录功效

现在,所有的代码都已经准备好了,可以通过会见以下 url 来测试登录和注册功效。

POST /api/register

注册新用户。参数:name、email、password。

POST /api/login

举行用户登录。参数:email、password。

当用户登录乐成后,会返回一个 token?梢允褂酶 token 来举行后续的 API 请求,以便验证用户身份。

$token = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZlYTcwMDU3NzhlZWUyMTU3MzliNTM3ODQyNTI0NWJiMGM5YjA3ZWIyMWNlMDhhMDM5ODUyYjczMzVjNWE1NjJlN2UwMGU4ZTQ5MjhhNzg1In0.eyJhdWQiOiIxMSIsImp0aSI6ImZlYTcwMDU3NzhlZWUyMTU3MzliNTM3ODQyNTI0NWJiMGM5YjA3ZWIyMWNlMDhhMDM5ODUyYjczMzVjNWE1NjJlN2UwMGU4ZTQ5MjhhNzg1IiwiaWF0IjoxNjMwMzkwNTM3LCJuYmYiOjE2MzAzOTA1MzcsImV4cCI6MTYzMDM5NDAzNywiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.XsIFsVCc3N1oZ70vzWn4wHQSv3Q-JVdlfu4LJkUPL0he_53bpgJrq5jw8mHygB-1-kpq62N7eG_r08fXKkmbiqeITmUiaGKa0prKzXCoexuYKuxYqG8j-HY2UyDp5g_TE6M4eW5FrcDpTJ0WcQ5ShDhdszUFQUH_qR52ypeEUmsF6CFwx1YJt4AmCFEy2CjsKOMl9K9o0mV_ytvBZ9drY6w6HTRfYfU7q5yuM-W3Qp6bbS-ljzY_2M0RWzwZJm6QvO3Byjhw1TNUrPHFs6xGlY4M7zgkDZxas5srQgpFjKof2LztN7QAJaiT_d6XAKpS24JA2-v2U7x3g';
$response = $this->withHeaders([
    'Authorization' => $token,
])->json('GET', '/api/user');

登录后复制

在这个例子中,使用 token 发送一个 GET 请求到 /api/user,该请求将返回用户的信息。若是登录不乐成,API 将返回 401 过失代码。若是登录乐成,则会返回用户的信息。

Laravel 中使用 Passport 扩展包来实现 APP 端的登录功效很是容易,只需要装置并设置响应的扩展包即可。在本文中,我们演示了怎样使用 Laravel 完成一个完整的 APP 端的登录功效,实现了用户的快速登录和清静  ;。

以上就是laravel 实现app端登录的详细内容,更多请关注本网内其它相关文章!

免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度,请读者仅做参考。本文接待转载,转载请说明来由。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系GA黄金甲实时修正或删除。

相关新闻

联系GA黄金甲

18523999891

可微信在线咨询

事情时间:周一至周五,9:30-18:30,节沐日休息

QR code
【网站地图】【sitemap】