Setting up faker.js

pull/42/head
Ali Gajani 2017-09-16 04:52:47 +01:00
parent c77ce64201
commit 48d6e310db
3 changed files with 65 additions and 19 deletions

View File

@ -1,5 +1,7 @@
<?php
namespace SSO;
class Forum
{
const REMEMBER_ME_KEY = 'flarum_remember';
@ -17,13 +19,13 @@ class Forum
* @param $username
* @param $email
*/
public function login($username, $email)
public function login($username, $email, $avatarUrl)
{
$password = $this->createPassword($username);
$token = $this->getToken($username, $password);
if (empty($token)) {
$this->signup($username, $password, $email);
$this->signup($username, $password, $email, $avatarUrl);
$token = $this->getToken($username, $password);
}
@ -65,7 +67,7 @@ class Forum
return isset($response['token']) ? $response['token'] : '';
}
private function signup($username, $password, $email)
private function signup($username, $password, $email, $avatarUrl)
{
$data = [
"data" => [
@ -74,7 +76,7 @@ class Forum
"username" => $username,
"password" => $password,
"email" => $email,
"avatarUrl" => "https://cyantificdsgn.files.wordpress.com/2009/11/spidey.png"
"avatarUrl" => $avatarUrl
]
]
];

View File

@ -1,16 +1,9 @@
<?php
require_once __DIR__ . '/Forum.php';
use SSO\Flarum;
$users = [
'user' => [
'password' => 'password',
'email' => 'test@mailinator.com',
],
];
$auth_token = $_GET['auth_token'];
$username = empty($_POST['username']) ? '' : $_POST['username'];
$password = empty($_POST['password']) ? '' : $_POST['password'];
if (isset($users[$username]) && $users[$username]['password'] === $password) {
$email = $users[$username]['email'];

View File

@ -1,7 +1,58 @@
<h1>Login</h1>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<form method="post" action="auth.php">
<input type="text" name="username" placeholder="Username">
<input type="password" name="password" placeholder="Password">
<button type="submit">Login</button>
</form>
<title>Shaw Academy</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- Leave those next 4 lines if you care about users using IE8 -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container text-center">
<div class="jumbotron">
<h3>Hypothetical Phoenix Authenticated Page</h3>
<p>A user is logged into members area. Let's demonstrate SSO with Flarum.</p>
</div>
<a class="btn btn-primary btn-lg btn-block" href="/auth.php?auth_token=test">Visit Forum</a>
<pre>href="/auth.php?auth_token=test"</pre>
</div>
<!-- Including Bootstrap JS (with its jQuery dependency) so that dynamic components work -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Faker/3.1.0/faker.min.js"></script>
<script>
var randomUsername = faker.internet.userName();
var randomAvatar = faker.internet.avatar();
var randomEmail = faker.internet.email();
var randomName = faker.name.findName();
var fake = {
username: randomUsername,
avatarUrl: randomAvatar,
email: randomEmail,
name: randomName
};
var encoded = window.btoa(JSON.stringify(fake));
console.log(fake);
console.log(encoded);
</script>
</body>
</html>