mirror of https://github.com/flarum/flarum
Setting up faker.js
parent
c77ce64201
commit
48d6e310db
|
@ -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
|
||||
]
|
||||
]
|
||||
];
|
||||
|
|
11
sso/auth.php
11
sso/auth.php
|
@ -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'];
|
||||
|
|
|
@ -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>
|
Loading…
Reference in New Issue