public static function generateForUser($user_id) { Token::where('user_id', '=', $user_id)->delete(); $token = new Token(); $token->{'user_id'} = $user_id; $token->token = $user_id . '-' . Token::v4UUID(); $token->expires = Token::expirationTime(); $token->save(); return $token; }
function store($tokenStr, User $user, $expireTime) { $token = new TokenModel(); $token->token = $tokenStr; $token->user_id = $user->id; $token->create_time = time(); $token->expire_time = $expireTime; if ($token->save()) { return true; } return false; }
/** * notifications function. * * @access public * @return void */ public function postNotification() { $device_token = Input::get('token', ''); $device_os = Input::get('os', ''); $token = Token::where('token', "=", $device_token)->where('os', "=", $device_os)->first(); if (!$token) { $token = new Token(); $token->token = $device_token; $token->os = $device_os; $token->save(); } $user = Auth::user()->id; $token->user_id = $user; $token->save(); return Response::json(array("service" => __FUNCTION__, "status" => true)); }
public function actionForm_register() { $model = new Sign(); $token = new Token(); $s_fname = ''; $s_lname = ''; $s_user = ''; $s_user_db = ''; $s_pw1 = ''; $s_pw2 = ''; $s_email = ''; $s_email_db = ''; $s_accept = ''; $s_sex = ''; $enable = 1; if (!empty($_POST)) { $model->fname = $_POST['fname']; $model->lname = $_POST['lname']; $model->user_id = $_POST['user']; $model->password = $_POST['pw1']; $model->email = $_POST['email']; if (!empty($_POST['sex'])) { $model->sex = $_POST['sex']; } $model->activate = 0; $model->status = 'member'; //fname if (strlen($model->fname) < 5) { $s_fname = 'has-error'; $enable = 0; } //lname if (strlen($model->lname) < 5) { $s_lname = 'has-error'; $enable = 0; } // user $user_found = Sign::find()->where(['user_id' => $model->user_id])->one(); if (!empty($user_found)) { $s_user = '******'; $s_user_db = 'double'; $enable = 0; } if (!ereg("([a-z0-9]{5})", $model->user_id)) { $s_user = '******'; $s_user_db = 'wrong'; $enable = 0; } //================================================== // password if ($model->password != $_POST['pw2'] || strlen($model->password) < 5) { $enable = 0; $s_pw1 = 'has-error'; $s_pw2 = 'has-error'; } //================================================== //sex if ($model->sex == "") { $s_sex = 'has-error'; $enable = 0; } //================================================== //email $email_found = Sign::find()->where(['email' => $model->email])->one(); if (!empty($email_found)) { $s_email = 'has-error'; $s_email_db = 'double'; $enable = 0; } if (!preg_match("/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})\$/i", $model->email)) { $enable = 0; $s_email = 'has-error'; $s_email_db = 'wrong'; } //accept if (empty($_POST['check'])) { $enable = 0; $s_accept = "โปรดย้อมรับข้อตกลง"; } ////////////// end check if ($enable == 1) { $md5_password = md5($model->password); $model->password = $md5_password; $model->path_image = $model->sex . '.' . 'png'; if ($model->save()) { $token->code = md5($md5_password); if ($token->save()) { //return $this->redirect(['sign/activate']); $content = "สวัสดีคุณ" . $model->fname . " " . $model->lname; $content .= "<p>โปรดยืนยันการสมัครโดย คลิกลิ้งค์ที่ทางเราได้แนบไป และท่านจะสามารถ Login </P>"; $content .= "<P>ด้วย user id และ password ของท่านได้</p>"; $link = "http://localhost/yii2basic/web/index.php?r=sign%2Fconf&id=" . $model->id . "&code=" . $token->code; $content .= "<a href=" . '"'; $content .= $link . '"'; $content .= '>Click for Register Complete</a>'; Yii::$app->mailer->compose("@app/mail/layouts/html", ['content' => $content])->setTo([$model->email => $model->fname])->setFrom(Yii::$app->params['adminEmail'])->setSubject('Register')->setTextBody('...')->send(); return $this->render('activate'); } else { echo 'error token'; } } else { echo 'save_error'; } } } return $this->render('form_register', ['s_fname' => $s_fname, 's_lname' => $s_lname, 's_user' => $s_user, 's_user_db' => $s_user_db, 's_pw1' => $s_pw1, 's_pw2' => $s_pw2, 's_email' => $s_email, 's_email_db' => $s_email_db, 's_accept' => $s_accept, 's_sex' => $s_sex, 'v_fname' => $model->fname, 'v_lname' => $model->lname, 'v_user' => $model->user_id, 'v_email' => $model->email, 'v_sex' => $model->sex]); }
public function user(Request $request) { $rules = ['email' => 'required', 'password' => 'required', 'name' => 'required']; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json(['error' => 'Unprocessable Entity'], 422); } // user 검색 및 생 $user = User::where('email', $request->input('email'))->first(); if (empty($user)) { $user = new User(); $user->username = $request->input('name'); $user->email = $request->input('email'); $user->password = bcrypt($request->input('password')); $user->role_id = 2; $user->save(); } // api token 검색 및 생성 $token = Token::where('user_id', $user->id)->first(); if (empty($token)) { $token = new Token(); $token->user_id = $user->id; } $token->api_token = hash('sha256', str_random(10), false); $token->save(); // api token 리턴 return response()->json(['token' => $token->api_token], 200); }