/** * * * @param Request $request * return string */ public static function getSessionId(HttpRequest $request) { $accessToken = trim(preg_replace('/^(?:\\s+)?Bearer\\s/', '', $request->header('Authorization'))); // find session with token $memberToken = MemberToken::where('accessToken', $accessToken)->first(); if ($memberToken && Session::isValidId($memberToken->sessionId)) { /** * @var MemberToken $memberToken */ $memberToken->update(['updated_at' => $memberToken->freshTimestamp()]); return $memberToken->sessionId; } else { return $request->cookies->get(Session::getName()); } }