bushart/apiauthentication

1.0.5 2023-05-12 06:59 UTC

This package is auto-updated.

Last update: 2024-09-12 10:02:17 UTC


README

这是一个Laravel包,使用Laravel Passport提供易于使用的API认证。该包包含预构建的控制器、中间件和路由,用于注册用户、认证用户,并发送邮件和电话号码上的验证码。

特性

  • 注册新用户
  • 认证现有用户
  • 预构建控制器和路由,便于集成到您的Laravel应用程序中
  • 通过邮件和电话号码发送验证码

安装包

要安装此包,请运行以下命令

composer require bushart/apiauthentication

安装Laravel Passport

composer require laravel/passport

接下来,您应该执行passport:install Artisan命令

php artisan passport:install

最后,在应用程序的config/auth.php配置文件中,您应该定义一个api认证守卫,并将driver选项设置为passport。这将指示您的应用程序在认证传入的API请求时使用Passport的TokenGuard

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
 
    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],

有关更多信息,请访问链接: Laravel Passport

配置文件

  1. 将服务提供者添加到app/config/app.php
bushart\productmanagement\ApiAuthenticationServiceProvider::class,

步骤2:设置数据库配置

在成功安装laravel应用程序并配置数据库设置后,我们将打开".env"文件,并更改env文件中的数据库名称、用户名和密码。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=Enter_Your_Database_Name
DB_USERNAME=Enter_Your_Database_Username
DB_PASSWORD=Enter_Your_Database_Password

现在,运行以下命令进行迁移

php artisan migrate

在laravel .env文件中配置发送者邮件地址

.env文件
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=TLS

创建Twilio账户

首先,您需要创建并添加电话号码。然后,您可以轻松地获取账户SID、令牌和号码。

从这里创建账户: www.twilio.com

接下来,添加Twilio电话号码

接下来,您可以得到账户SID、令牌和号码,并将这些添加到以下.env文件中:

.env

TWILIO_ACCOUNT_SID=XXXXXXXXXXXXXXXXX
TWILIO_AUTH_TOKEN=XXXXXXXXXXXXX
TWILIO_NUMBER=+XXXXXXXXXXX

使用方法

该包包含预构建的控制器和路由,用于注册用户、认证用户。要使用这些功能,只需将包的路由包含到您的Laravel应用程序的routes/api.php文件中

然后,您可以对以下端点进行API请求

  • /api/register:注册新用户
  • /api/login:认证现有用户并检索访问令牌
  • /api/sendOtpEmail:通过邮件发送验证码
  • /api/sendOtpPhoneNumber:通过电话号码发送验证码
  • /api/verifyOtp:验证验证码

注意

请将Accept:application/json添加到头部