PHPackages                             glz/nvwa-core - 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. glz/nvwa-core

ActiveLibrary

glz/nvwa-core
=============

description\_text

1.1.6(7y ago)034MITPHPPHP &gt;=5.5.9

Since Aug 12Pushed 7y ago1 watchersCompare

[ Source](https://github.com/glz-cn/nvwa-core)[ Packagist](https://packagist.org/packages/glz/nvwa-core)[ RSS](/packages/glz-nvwa-core/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (7)Dependencies (3)Versions (8)Used By (0)

nvwaCommon.NvwaApi
==================

[](#nvwacommonnvwaapi)

负责远程调用相关的接口

nvwaCommon.NvwaApi.NvwaUic
==========================

[](#nvwacommonnvwaapinvwauic)

负责远程取回用户信息相关的接口

服务器端使用方法
--------

[](#服务器端使用方法)

##### 1. 引入NvwaUic

[](#1-引入nvwauic)

执行`composer require glz/nvwa-common:dev-master`

##### 2. 设置app secret

[](#2-设置app-secret)

修改.env文件,增加内容:

```
REMOTE_USER_SECRET=gdsdddddd333
```

##### 3. 给某个controller添加回调方法:

[](#3-给某个controller添加回调方法)

```
    /**
    * 本方法服务于URL:remoteUser/login
    */
  public function login(Request $request){
        $currentUser = $request->user();
        if($currentUser){
            $serverSide = new ServerSide();
            return $serverSide->redirectToClientWithRemoteUserInfo($request);
        }else{
            return redirect("/auth/login?redirectTo=".urlencode($request->url()."?".$request->getQueryString()));
        }

    }
```

```
客户端检查到用户未登陆时，会引导用户到服务器

```

客户端使用方法:
--------

[](#客户端使用方法)

##### 1. 引入NvwaUic

[](#1-引入nvwauic-1)

执行`composer require glz/nvwa-common:dev-master`

##### 2. 设置中间件

[](#2-设置中间件)

修改`app/Http/Kernel.php`,修改变量`$routeMiddleware`，给这个成员变量添加一项:`'remoteUser'=> nvwaCommon.NvwaApi.NvwaUic\RemoteUserMiddleware::class`

##### 3. 在路由中引用中间件:

[](#3-在路由中引用中间件)

在routes里，引用这个middleware，示例如下:

```
    Route::group(["middleware"=>'remoteUser'],function(){
        Route::get("/home",'\App\Http\Controllers\HomeController@home');
        //....及其他的urls的处理逻辑;
    });
```

##### 4.设置认证服务器的地址,密钥:

[](#4设置认证服务器的地址密钥)

请在.env中设置这一项:

```
REMOTE_USER_SERVER_LOGIN_URL=http://dev.local.com/uic/remote/tryLogin
REMOTE_USER_APP=finance
REMOTE_USER_SECRET=gdsdddddd333
```

注意,密钥和用户认证的服务端应该相同。

##### 5.在您的代码中取得用户信息

[](#5在您的代码中取得用户信息)

只需要调用`RemoteUser::getCurrentUser()`即能得到RemoteUser的实例（存储了当前存入的用户信息);

示例代码:

```
    class HomeController extends Controller {
        public  function home(Request $request){
            $user =  RemoteUser::getCurrentUser();
            return $user->getId().":".$user->getName().":".$user->getEmail();
        }
    }
```

客户端的临时方法
--------

[](#客户端的临时方法)

有时没有联网,或是服务器端有故障 ,怎么办呢? 也有办法,让客户端并不实时到服务器去校验. 步聚如下:

##### 1. 确保引入了nvwa-common:

[](#1-确保引入了nvwa-common)

```
composer require glz/nvwa-common:dev-master

```

##### 2. 设置.env文件,以开启假用户模式:

[](#2-设置env文件以开启假用户模式)

```
REMOTE_USER_FAKE_MODE=1
REMOTE_USER_FAKE_ID=2
REMOTE_USER_FAKE_NAME=xiaosi
REMOTE_USER_FAKE_EMAIL=xiaosi@gmail.com

```

好了,现在在你的代码里启用 `RemoteUser::getCurrentUser()` 就总是能返回一个用户对象了.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity63

Established project with proven stability

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 ~50 days

Recently: every ~29 days

Total

7

Last Release

2892d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cbeae1ee5ec80c5fb7c2fcbf1f06f9a6b62cfc4e51b8489ec3b765c8abb457c0?d=identicon)[huanggun](/maintainers/huanggun)

### Embed Badge

![Health badge](/badges/glz-nvwa-core/health.svg)

```
[![Health](https://phpackages.com/badges/glz-nvwa-core/health.svg)](https://phpackages.com/packages/glz-nvwa-core)
```

###  Alternatives

[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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