-
-
Save woganmay/4c15a0f7c16e41ab3a3ea1a73c595bf9 to your computer and use it in GitHub Desktop.
| <?php | |
| $api_url = "https://my.flarum.url/api/users"; | |
| $token = $session->token; // See: https://gist.github.com/woganmay/88f15e96fc019657a0e594366403b5cf | |
| // This must be a token for a user with Administrator access | |
| $new_username = "johnsmith"; | |
| $new_password = "password1234"; | |
| $new_email = "[email protected]"; | |
| $ch = curl_init($api_url); | |
| curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); | |
| curl_setopt($ch, CURLOPT_HTTPHEADER, [ | |
| 'Content-Type: application/json', | |
| 'Authorization: Token ' . $token | |
| ]); | |
| curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([ | |
| 'data' => [ | |
| 'attributes' => [ | |
| "username" => $new_username, | |
| "password" => $new_password, | |
| "email" => $new_email | |
| ] | |
| ] | |
| ])); | |
| $result = curl_exec($ch); | |
| $new_user = json_decode($result); | |
| $new_user; // Will be a large JSON object containing the new user's details: | |
| /* SAMPLE | |
| { | |
| "data": | |
| "type": "users", | |
| "id": "1", | |
| "attributes": { | |
| "username": "johnsmith", | |
| "joinTime": "2017-02-11T16:34:40+00:00", | |
| "isActivated": false, | |
| "email": "[email protected]", | |
| } | |
| } | |
| */ |
Its Done || Thanks :)
`<?php
//$userId = 2;
$some_data = array(
'identification' => 'divyesh',
'password' => 'divyesh12'
);
$some_data_json = json_encode($some_data, true);
$apikey = 'YACub2KLfe8hjfIUcUKtt6t2SMKJUIXnZbqhc3nX';
$curl = curl_init();
// You can also set the URL you want to communicate with by doing this:
// $curl = curl_init('http://localhost/echoservice');
// We POST the data
curl_setopt($curl, CURLOPT_POST, 1);
// Set the url path we want to call
curl_setopt($curl, CURLOPT_URL, 'http://academy.forumias.com/discussion/api/token');
// Make it so the data coming back is put into a string
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// Insert the data
curl_setopt($curl, CURLOPT_POSTFIELDS, $some_data_json);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen($some_data_json),
'Authorization: Token ' . $apikey,
]
);
// You can also bunch the above commands into an array if you choose using: curl_setopt_array
// Send the request
$result = curl_exec($curl);
// Free up the resources $curl is using
curl_close($curl);
// $result = json_decode($result, true);
//$student = $result['data'];
//print_r($result);
$response = json_decode($result,true);
$token = $response['token'];
if(isset($token)) {
$expire = time() + (86400 * 30);
setcookie('flarum_remember', $token , $expire, "/");
header("Location: http://academy.forumias.com/discussion/");
}
?>`
How to login from outside, please share code?