2017 © Pedro Peláez
 

library nvwa-core

description_text

image

glz/nvwa-core

description_text

  • Thursday, June 7, 2018
  • by huanggun
  • Repository
  • 1 Watchers
  • 0 Stars
  • 28 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 8 Versions
  • 17 % Grown

The README.md

nvwaCommon.NvwaApi

负责远程调用相关的接口, (*1)

nvwaCommon.NvwaApi.NvwaUic

负责远程取回用户信息相关的接口, (*2)

服务器端使用方法

1. 引入NvwaUic

执行composer require glz/nvwa-common:dev-master, (*3)

2. 设置app secret

修改.env文件,增加内容:, (*4)

REMOTE_USER_SECRET=gdsdddddd333
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

执行composer require glz/nvwa-common:dev-master, (*5)

2. 设置中间件

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

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

在routes里,引用这个middleware,示例如下:, (*7)

    Route::group(["middleware"=>'remoteUser'],function(){
        Route::get("/home",'\App\Http\Controllers\HomeController@home');
        //....及其他的urls的处理逻辑;
    });
4.设置认证服务器的地址,密钥:

请在.env中设置这一项:, (*8)

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

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

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

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

示例代码:, (*11)

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

客户端的临时方法

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

##### 1. 确保引入了nvwa-common:, (*13)

composer require glz/nvwa-common:dev-master
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() 就总是能返回一个用户对象了., (*14)

The Versions

07/06 2018

dev-master

9999999-dev

description_text

  Sources   Download

MIT

The Requires

 

by renlu

07/06 2018

1.1.6

1.1.6.0

description_text

  Sources   Download

MIT

The Requires

 

by renlu

06/03 2018

1.1.5

1.1.5.0

description_text

  Sources   Download

MIT

The Requires

 

by renlu

06/03 2018

1.1.3

1.1.3.0

description_text

  Sources   Download

MIT

The Requires

 

by renlu

05/03 2018

1.1.2

1.1.2.0

description_text

  Sources   Download

MIT

The Requires

 

by renlu

12/02 2018

1.1.1

1.1.1.0

description_text

  Sources   Download

MIT

The Requires

 

by renlu

12/08 2017

1.0.6

1.0.6.0

description_text

  Sources   Download

MIT

The Requires

 

by renlu

12/08 2017

1.0.5

1.0.5.0

description_text

  Sources   Download

MIT

The Requires

 

by renlu