/** * Creates a new user and returns the user object. * * @access public * @param string $email Email address * @param string $username Username * @param string $password Password * @param boolean $activate Will activate the user if set to true * @return \mako\auth\user\UserInterface */ public function createUser($email, $username, $password, $activate = false) { $user = $this->userProvider->createUser($email, $username, $password, $this->request->ip()); $user->generateActionToken(); $user->generateAccessToken(); if ($activate) { $user->activate(); } $user->save(); return $user; }
/** * */ public function testIP() { $server = $this->getServerData(); $request = new Request(['server' => $server]); $this->assertEquals('10.17.12.209', $request->ip()); // Should fall back to localhost if an invalid IP is detected $server['REMOTE_ADDR'] = 'invalid ip'; $request = new Request(['server' => $server]); $this->assertEquals('127.0.0.1', $request->ip()); // Should ignore the X-Forwarded-For header if no list of trusted proxies is specified $server['REMOTE_ADDR'] = '127.0.0.1'; $server['HTTP_X_FORWARDED_FOR'] = '10.17.12.211, 10.17.12.212, 10.17.12.213'; $request = new Request(['server' => $server]); $this->assertEquals('127.0.0.1', $request->ip()); // Should return the IP forwarded by the first trusted proxy $request = new Request(['server' => $server]); $request->setTrustedProxies(['10.17.12.213']); $this->assertEquals('10.17.12.212', $request->ip()); // Should return the IP forwarded by the first trusted proxy $request = new Request(['server' => $server]); $request->setTrustedProxies(['10.17.12.212', '10.17.12.213']); $this->assertEquals('10.17.12.211', $request->ip()); }