TYPE-0 PERFECT SEIHA
Server Info:
FreeBSD scimitar.blueboard.cz 13.5-STABLE FreeBSD 13.5-STABLE stable/13-4f2925105 GENERIC amd64
Software:
Apache
User:
www
Crot
Crot File
Crot Dir
Crot Command
[LockSelf]
[HOME]
data
www
19068
fszoo_net
www
api
1
root
app
Rest
Show Hidden Files
Edit File: /data/www/19068/fszoo_net/www/api/1/root/app/Rest/Login.php
<?php /** * Copyright (c) Jan Pospisil (http://www.jan-pospisil.cz) */ namespace Rest; use Lcobucci\JWT\Builder; use Nette\Database\Context; use Nette\Security\User; use Nette\Utils\Random; use Nette\Utils\Strings; use Rest\Me; use RestServer\ErrorCodes; use RestServer\Exceptions\AuthenticationException; use RestServer\Exceptions\DataException; use RestServer\Exceptions\MissingRequiredParameterException; use RestServer\IHttpRequest; use RestServer\IIdentity; use RestServer\IParametrs; use RestServer\IPresenter; use RestServer\Response; use Nette\Http\Request; /** * User authentication. If access token is requested is set to header in Authorization parameter. * @author Jan Pospisil * @param ( * required = 1, * name = email, * type = string * ) * @param ( * required = 1, * name = password, * type = string * ) * @param ( * name = return_access_token, * type = string * ) * */ class Login extends \Nette\Object implements IPresenter { private $connection; private $httpRequest; public function __construct(Context $context, Request $request){ $this->connection = $context; $this->httpRequest = $request; } /** * User authorization * @param IParametrs $request * @param Response $response * @throws AuthenticationException * @throws MissingRequiredParameterException * */ public function run(IParametrs $request, Response $response) { $email = $request->post('email'); $password = $request->post('password'); $returnAccessToken = $request->post('return_access_token'); if(!$email) throw new MissingRequiredParameterException('Email is required.'); if(!$password) throw new MissingRequiredParameterException('Password is required.'); $emailRow = $this->connection->table('user_email')->where('address', $email)->fetch(); if(!$emailRow){ throw new AuthenticationException('User not found.'); } $userRow = $emailRow->user; if($userRow->password != md5($password)) throw new AuthenticationException('Bad password.'); if(!$emailRow->confirmed){ throw new AuthenticationException('Email is not confirmed.'); } // OK $userData = \Model\User\User::getUser($userRow, array('roles')); $expiration = new \DateTime(); $expiration->modify(\Model\User\User::ACCESS_TOKEN_EXPIRATION); if($returnAccessToken){ $accessToken = Random::generate(50); $this->connection->table('user_access_token')->insert(array( 'access_token' => $accessToken, 'user_id' => $emailRow->user_id, 'ip' => $this->httpRequest->getRemoteAddress(), 'expiration' => $expiration )); $response->setHeader('Authorization', $accessToken); } $response->data = $userData; } public static function getReturnExample(){ $return = Me::getReturnExample(); //$return['attributes']['access_token'] = Random::generate(50); return $return; } }
Crotin
Name
Size
Permissions
Modified
User/Group
Search
-
0755
2016-02-22 19:01:21
Unknown/Unknown
Events
-
0755
2016-02-23 12:46:55
Unknown/Unknown
Login.php
2874
0644
2016-01-14 22:08:37
Unknown/Unknown
Users
-
0755
2016-02-27 10:21:45
Unknown/Unknown
Dictionary
-
0755
2016-02-22 19:01:21
Unknown/Unknown
Logout.php
1125
0644
2016-01-11 22:55:22
Unknown/Unknown
Url
-
0755
2018-07-10 18:04:12
Unknown/Unknown
Options.php
384
0644
2016-02-27 09:38:01
Unknown/Unknown
Activity
-
0755
2016-06-16 11:51:47
Unknown/Unknown
Me.php
1151
0644
2016-01-15 10:19:48
Unknown/Unknown
Video
-
0755
2016-01-14 17:56:42
Unknown/Unknown
NGANU
Rename
Hapus
Chmod
Chown
Touch
Zip
Unzip
Download
Crotin