Example #1
0
 public function __construct(Request $request)
 {
     $headers = $request->header();
     if (!empty($headers['x-api-token']) && !is_null($headers['x-api-token'])) {
         $this->token = Token::where('api_token', $headers['x-api-token'])->first();
     }
 }
Example #2
0
 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;
 }
Example #3
0
 /**
  * Generate a token to authenticate a user
  *
  * @return mixed
  */
 public function login($device_id = null, $device_type = null, $device_token = null)
 {
     // clear old sessions for any user with: same(device_id, os)
     $to_remove = Token::where('device_id', '=', $device_id)->where('device_os', '=', $device_type)->delete();
     $token = Token::getInstance();
     $token->user_id = $this->_id;
     $token->device_id = $device_id;
     $token->device_os = $device_type;
     $token->device_token = $device_token;
     $token->save();
     return $token;
 }
Example #4
0
 function get($token)
 {
     try {
         $tokenModel = TokenModel::where('token', $token)->firstOrFail();
     } catch (ModelNotFoundException $e) {
         return null;
     }
     $token = new Token();
     $token->token = $tokenModel->token;
     $token->userId = $tokenModel->user_id;
     $token->createTime = $tokenModel->create_time;
     $token->expireTime = $tokenModel->expire_time;
     return $token;
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $authenticated = false;
     if (!isset($_SERVER['HTTP_X_SITE_AUTH_TOKEN'])) {
         return response()->json(array('error' => 'This resource requires an authentication token.'), 403);
     }
     $token = $_SERVER['HTTP_X_SITE_AUTH_TOKEN'];
     if ($token) {
         $token = Token::where('token', '=', $token)->where('expires', '>', time())->first();
         if ($token) {
             if ($token->{'user_id'} != 0) {
                 session(['user_id' => $token->{'user_id'}]);
             }
             $authenticated = true;
             $token->updateExpiration();
         }
     }
     if (!$authenticated) {
         return response()->json(array('error' => 'Invalid token'), 403);
     }
     return $next($request);
 }
Example #6
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $headers = $request->header();
     // header checked
     if (empty($headers['x-api-token']) || is_null($headers['x-api-token'])) {
         return response()->json(['error' => 'Not Authorization'], 401);
     }
     //token valid
     $token = Token::where('api_token', $headers['x-api-token'])->first();
     if (empty($token)) {
         return response()->json(['error' => 'token_invalid'], 403);
     }
     //token expired
     //$token->expires_on
     //return response()->json(['error' => 'token_expired'], $e->getStatusCode());
     //
     if (!$request->isMethod('get')) {
         if (empty($token->user->email) || !$token->user->role_id == 3) {
             return response()->json(['error' => 'Permission denied'], 403);
         }
     }
     return $next($request);
 }
Example #7
0
 /**
  * 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 getNotification()
 {
     $tokens = Token::where("os", "=", "ios")->get();
     foreach ($tokens as $token) {
         $this->_ios_notification($token->token, "HOLA MUNDO", 1);
     }
     return $this->getIndex();
 }
 /**
  * @param $token
  * @return Token
  */
 public function getByToken($token)
 {
     return Token::where('token', $token)->first();
 }
Example #10
0
 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);
 }