PHPackages                             larva/laravel-auth-signature-guard - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. larva/laravel-auth-signature-guard

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

larva/laravel-auth-signature-guard
==================================

This is a Laravel auth guard for the signature.

1.0.1(3y ago)54141MITPHP

Since Mar 6Pushed 3y agoCompare

[ Source](https://github.com/larvatecn/laravel-auth-signature-guard)[ Packagist](https://packagist.org/packages/larva/laravel-auth-signature-guard)[ RSS](/packages/larva-laravel-auth-signature-guard/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (2)Versions (3)Used By (0)

laravel-auth-signature-guard
============================

[](#laravel-auth-signature-guard)

适用于 Laravel Auth 的签名看守器，基于 Laravel Passport

安装
--

[](#安装)

```
composer require larva/laravel-auth-signature-guard
```

```
//认证配置
/config/auth.php

//增加一个看守器

'guards' => [
	'web'=>[],//原WEB的
	'api'=>[],//原API
	'signature'=>[//新增的
		'driver'=>'signature'
		'provider'=>'users',
	]
]
// 使用时在控制器中

class SDKController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth:signature');
    }
}

//按照以上配置，该控制器所有的方法都会经过签名看守器认证。
```

### 公共请求参数

[](#公共请求参数)

公共请求参数是每个接口都需要使用到的请求参数。

名称类型描述`app_id`String访问服务使用的应用ID。`timestamp`Int请求的时间戳，10位数整形。`signature`String签名结果串。`signature_method`String签名方式，取值：HMAC-SHA1/HMAC-SHA256`signature_version`String签名版本，取值：1.0`signature_nonce`String唯一随机数，用于防止网络重放攻击。在不同请求间要使用不同的随机数值。参数签名计算 例子

```
$appKey = '123456';
$params = [
    'app_id' => 3,
    'timestamp' => 1555069945,
    'signature_method'=>'HMAC-SHA1',
    'signature_version'=>'1.0',
    'signature_nonce'=>'rakdienakdig',
    'key1'=>'val1',
    'key2'=>'val2'
];

//排序参数
//按照键名对关联数组进行升序排序
ksort($params);
//编码
$stringToSign = urlencode(http_build_query($params, null, '&', PHP_QUERY_RFC3986));
$stringToSign = str_replace(['+', '*'], ['%20', '%2A'], $stringToSign);
$stringToSign = preg_replace('/%7E/', '~', $stringToSign);

//签名
$params['signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $appKey.'&', true));

// 你的HTTP 实例，
$res = $http->post('your api url/path',$params);

//其中参数中的时间戳和世界标准时间相差不能超过1分钟。

//签名计算例子 在tests 目录
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~454 days

Total

2

Last Release

1440d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/534cdb651e8c806590fa945c6b5a18f361613848e890db1349f4a9fbcae1a650?d=identicon)[xutongle](/maintainers/xutongle)

---

Top Contributors

[![xutl](https://avatars.githubusercontent.com/u/20939388?v=4)](https://github.com/xutl "xutl (2 commits)")

---

Tags

laravelsignatureauth

### Embed Badge

![Health badge](/badges/larva-laravel-auth-signature-guard/health.svg)

```
[![Health](https://phpackages.com/badges/larva-laravel-auth-signature-guard/health.svg)](https://phpackages.com/packages/larva-laravel-auth-signature-guard)
```

###  Alternatives

[tymon/jwt-auth

JSON Web Token Authentication for Laravel and Lumen

11.5k49.1M350](/packages/tymon-jwt-auth)[php-open-source-saver/jwt-auth

JSON Web Token Authentication for Laravel and Lumen

8359.8M53](/packages/php-open-source-saver-jwt-auth)[codegreencreative/laravel-samlidp

Make your PHP Laravel application an Identification Provider using SAML 2.0. This package allows you to implement your own Identification Provider (idP) using the SAML 2.0 standard to be used with supporting SAML 2.0 Service Providers (SP).

263763.5k1](/packages/codegreencreative-laravel-samlidp)[corbosman/laravel-passport-claims

Add claims to Laravel Passport JWT Tokens

88655.9k](/packages/corbosman-laravel-passport-claims)[jurager/teams

Laravel package to manage team functionality and operate with user permissions.

22817.3k](/packages/jurager-teams)[codebot/entrust

This package provides a flexible way to add Role-based Permissions to Laravel

1596.6k](/packages/codebot-entrust)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
