/** * Delegate checking of user credentials to ZfcUser's onboard adapter chain * * @param string $username * @param string $password * @return boolean */ public function checkUserCredentials($username, $password) { $request = new \Zend\Http\Request(); $request->getPost()->set('identity', $username); $request->getPost()->set('credential', $password); $adapterResult = $this->authAdapter->prepareForAuthentication($request); if ($adapterResult instanceof \Zend\Stdlib\ResponseInterface) { return false; } $authResult = $this->auth->authenticate($this->authAdapter); if (!$authResult->isValid()) { $this->authAdapter->resetAdapters(); return false; } return true; }
/** * Set session with authenticated user data * * * @access public * @param Users/Entity/User $user ,default is null * @uses AuthenticationService */ public function newSession($user = null) { if (is_null($user)) { $user = $this->query->findOneBy('Users\\Entity\\User', array('username' => $this->request->getPost('username'))); } $auth = new AuthenticationService(); $storage = $auth->getStorage(); // here to add new entries to the session $storage->write(array('id' => $user->id, 'firstName' => $user->getFirstName(), 'middleName' => $user->getMiddleName(), 'lastName' => $user->getLastName(), 'name' => $user->getFullName(), 'username' => $user->getUsername(), 'email' => $user->getEmail(), 'photo' => $user->getPhoto(), 'status' => $user->getStatus(), 'roles' => $user->getRolesNames(), 'agreements' => $user->getRolesAgreementsStatus())); }
/** * Patron Login * * This is responsible for authenticating a patron against the catalog. * * @param string $barcode The patron username * @param string $password The patron's password * * @throws ILSException * @return mixed Associative array of patron info on successful login, * null on unsuccessful login. */ public function patronLogin($barcode, $password) { // Build request: $request = new \Zend\Http\Request(); $request->getPost()->set('username', $barcode)->set('password', $password); // First try local database: $db = new \VuFind\Auth\Database(); try { $user = $db->authenticate($request); } catch (\VuFind\Exception\Auth $e) { // Next try LDAP: $ldap = new \VuFind\Auth\LDAP(); $user = $ldap->authenticate($request); } $_SESSION['picauser'] = $user; return ['id' => $user->id, 'firstname' => $user->firstname, 'lastname' => $user->lastname, 'email' => $user->email, 'username' => $barcode, 'password' => $password, 'cat_username' => $barcode, 'cat_password' => $password]; }
printf("No location header\n"); exit; } $data = $location->uri()->getQueryAsArray(); if (!isset($data['code'])) { die("No code in response\n"); } /* * Token request */ $client->resetParameters(); $client->setMethod('POST'); $request = new \Zend\Http\Request(); $request->setUri($tokenUri); $request->setMethod('POST'); $request->getPost()->fromArray(array('grant_type' => 'authorization_code', 'code' => $data['code'], 'redirect_uri' => 'https://dummy', 'client_id' => $clientId)); // Client authentication $request->getHeaders()->addHeaders(array('Authorization' => $clientAuthorization)); _dumpRequest($request); $client->setMethod('POST'); $response = $client->send($request); _dumpResponse($response); $tokenData = \Zend\Json\Json::decode($response->getContent(), \Zend\Json\Json::TYPE_ARRAY); _dump($tokenData); if (isset($tokenData['error'])) { die("ERROR\n"); } /* * User info request */ $request = new \Zend\Http\Request();
public function setUp() { $httpRequest = new \Zend\Http\Request(); $httpRequest->getPost()->fromArray(array(Request\Token::FIELD_CODE => 'authorization_code_123', Request\Token::FIELD_CLIENT_ID => 'testclient', Request\Token::FIELD_GRANT_TYPE => 'authorization_code', Request\Token::FIELD_REDIRECT_URI => 'http://dummy')); $this->request = new Request\Token($httpRequest); }