php – 使用Laravel Passport注册用户
我设置了密码授权(它是应用程序的后端).现在,我可以向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); } 在创建新用户后,返回访问令牌. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |