PHPackages                             php-cpm/http-basic-auth-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. php-cpm/http-basic-auth-guard

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

php-cpm/http-basic-auth-guard
=============================

HTTP Basic Auth Guard for Lumen 5.2

v2.0.0(8y ago)0292MITPHPPHP &gt;=5.6.0

Since Dec 25Pushed 8y ago1 watchersCompare

[ Source](https://github.com/php-cpm/http-basic-auth-guard)[ Packagist](https://packagist.org/packages/php-cpm/http-basic-auth-guard)[ Docs](https://github.com/php-cpm/http-basic-auth-guard)[ RSS](/packages/php-cpm-http-basic-auth-guard/feed)WikiDiscussions master Synced 5d ago

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

HTTP Basic Auth Guard
=====================

[](#http-basic-auth-guard)

\[!\[Latest Version on Packagist\]\[ico-version\]\]\[link-packagist\] [!\[Software License\]\[ico-license\]](LICENSE.md)\[!\[Total Downloads\]\[ico-downloads\]\]\[link-downloads\]

This is a modified version of HTTP Basic Auth Guard, provided for api auth.

when I readed Pingxx's documents, They tell me the APIs should be authed by basic auth and leave password empty,then I found their php SDK use bearer Token way

so I make my own version middleware to sovle this problem.

As stateless APIs, each time request, we need to verify a token called `API Secret`.

so parse the request Header to get a token, verify it through Model and get Info from db.

Installation
------------

[](#installation)

### Pull in package

[](#pull-in-package)

```
$ composer require php-cpm/http-basic-auth-guard
```

### Read &amp; Follow Documentation

[](#read--follow-documentation)

[Authentication](https://lumen.laravel.com/docs/5.2/authentication)

*Important*:

> Before using Lumen's authentication features, you should uncomment the call to register the `AuthServiceProvider` service provider in your `bootstrap/app.php` file.
> If you would like to use `Auth::user()` to access the currently authenticated user, you should uncomment the `$app->withFacades()` method in your `bootstrap/app.php` file.

### Add the Service Provider

[](#add-the-service-provider)

Open `bootstrap/app.php` and register the service provider:

```
$app->register(Phpcpm\BasicAuth\BasicGuardServiceProvider::class);
```

### Setup Guard Driver

[](#setup-guard-driver)

> **Note:** In Lumen you first have to copy the config file from the directory `vendor/laravel/lumen-framework/config/auth.php`, create a `config` folder in your root folder and finally paste the copied file there.

Open your `config/auth.php` config file.
In `guards` add a new key of your choice (`api` in this example).
Add `basic` as the driver.
Make sure you also set `provider` for the guard to communicate with your database.

```
// config/auth.php
'guards' => [
    'api' => [
        'driver' => 'basic',
        'provider' => 'users'
    ],

    // ...
],

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model'  => App\User::class,
    ],
],
```

### Middleware Usage

[](#middleware-usage)

Middleware protecting the route:

```
Route::get('api/whatever', ['middleware' => 'auth:api', 'uses' => 'NiceController@awesome']);
```

Middleware protecting the controller:

```
