seffeng/laravel-afs

PHP laravel extension afs

v0.1.2 2023-08-03 03:29 UTC

This package is auto-updated.

Last update: 2024-12-03 06:31:35 UTC


README

安装

# 安装
$ composer require seffeng/laravel-afs
Laravel
# 1、生成配置文件
$ php artisan vendor:publish --tag="afs"

# 2、修改配置文件 /config/afs.php 或在 /.env 文件中添加配置
AFS_DEBUG= #[true-不验证直接返回成功,其他-通过阿里云验证结果]
AFS_ACCESS_KEY_ID=
AFS_ACCESS_KEY_SECRET=
AFS_APPKEY=
lumen
# 1、将以下代码段添加到 /bootstrap/app.php 文件中的 Providers 部分
$app->register(Seffeng\LaravelAfs\AfsServiceProvider::class);

# 2、参考扩展包内 config/afs.php 在 /.env 文件中添加配置
AFS_DEBUG= #[true-不验证直接返回成功,其他-通过阿里云验证结果]
AFS_ACCESS_KEY_ID=
AFS_ACCESS_KEY_SECRET=
AFS_APPKEY=

目录说明

├─config
│   afs.php
├─src
│  │  Afs.php
│  │  AfsServiceProvider.php
│  ├─Facades
│  │    Afs.php
└─tests
    AfsTest.php

示例

/**
 * 参考 tests/AfsTest.php
 */

use Seffeng\LaravelAfs\Facades\Afs;
use Seffeng\Afs\Exceptions\AfsException;

class SiteController extends Controller
{
    public function index()
    {
        try {
            $ip = '192.168.1.100';      // 客户端IP
            $scene = 'ic_login';        // 使用场景标识,必填参数,可从前端获取 [ic_login, nc_activity_h5, ...]
            $token = '1627557...';      // 请求唯一标识,必填参数,从前端获取
            $sig = '05XqrtZ0Ea...';     // 签名串,必填参数,从前端获取
            $sessionId = '01sWbn...';   // 会话ID,必填参数,从前端获取

            // Afs::loadClient('client');   //当有多个客户端时,使用其他客户端
            Afs::setRemoteIp($ip);
            Afs::setScene($scene);
            Afs::setToken($token);
            Afs::setSig($sig);
            Afs::setSessionId($sessionId);
            var_dump(Afs::verify()); // 仅为true,其他情况抛出异常(AfsException)
        } catch (AfsException $e) {
            echo $e->getMessage();
        } catch (\Exception $e) {
            echo $e->getMessage();
        }
    }
}
    

项目依赖

备注

1、测试脚本 tests/AfsTest.php 仅作为示例供参考;

2、暂只支持滑动验证和智能验证;不支持无痕验证。