加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 使用Laravel Passport注册用户

发布时间:2020-12-14 19:48:33 所属栏目:大数据 来源:网络整理
导读:我设置了密码授权(它是应用程序的后端).现在,我可以向oauth / token发送一个帖子请求,它适用于Postman.但是,如果我也想从api注册用户怎么办? 我知道我可以使用当前/注册路由,但是,我是否需要将用户重定向回登录页面并使用他的凭据再次登录? 或者在Register
我设置了密码授权(它是应用程序的后端).现在,我可以向oauth / token发送一个帖子请求,它适用于Postman.但是,如果我也想从api注册用户怎么办?

我知道我可以使用当前/注册路由,但是,我是否需要将用户重定向回登录页面并使用他的凭据再次登录?

或者在RegisterController中,在registered()函数中,我应该重定向到oauth / token路由吗? (为此,请注意我发送,’x-www-form-urlencoded’中的所有5个数据似乎都有效.但是,我是否需要在标题中分开一些?这对我来说很模糊,所以只是想要我什么时候有机会问.)

或者我应该在像this guy这样的oauth / token方法中添加一些东西?实际上,我试图在库中的AccessTokenController @ issueTokenmethod上捕获已发布的$request数据,但是我无法弄清楚如何操作parsedBody数组.如果我从实际库中触发我的寄存器功能,我怎么知道它是注册还是登录?

也许我错过了一些信息,但根据这个主题我找不到任何东西.在Passport中处理注册用户的正确方法是什么?

更新:接受的答案显示’注册’周期;在它下面我添加了’login’和’refresh token’实现.希望能帮助到你 :)

在您的API中创建路由为
Route::post('register','ApiUsersController@create');

并在UsersController中创建方法create()

function create(Request $request)
{
    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $request
     * @return IlluminateContractsValidationValidator
     */
    $valid = validator($request->only('email','name','password','mobile'),[
        'name' => 'required|string|max:255','email' => 'required|string|email|max:255|unique:users','password' => 'required|string|min:6','mobile' => 'required',]);

    if ($valid->fails()) {
        $jsonError=response()->json($valid->errors()->all(),400);
        return Response::json($jsonError);
    }

    $data = request()->only('email','mobile');

    $user = User::create([
        'name' => $data['name'],'email' => $data['email'],'password' => bcrypt($data['password']),'mobile' => $data['mobile']
    ]);

    // And created user until here.

    $client = Client::where('password_client',1)->first();

    // Is this $request the same request? I mean Request $request? Then wouldn't it mess the other $request stuff? Also how did you pass it on the $request in $proxy? Wouldn't Request::create() just create a new thing?

    $request->request->add([
        'grant_type'    => 'password','client_id'     => $client->id,'client_secret' => $client->secret,'username'      => $data['email'],'password'      => $data['password'],'scope'         => null,]);

    // Fire off the internal request. 
    $token = Request::create(
        'oauth/token','POST'
    );
    return Route::dispatch($token);
}

在创建新用户后,返回访问令牌.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读