aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarvin Borner2018-07-09 19:57:19 +0200
committerMarvin Borner2018-07-09 19:57:19 +0200
commit75adb031897ab2a2b66051e1acb186bfdff6a4a4 (patch)
tree5cacef38857ba9d76342bdca79fc77754a908e38
parent0675967adc29e267f7b15bd9f9090bb16cb0339b (diff)
Better API
-rw-r--r--app/Http/Controllers/PublicKeyController.php2
-rw-r--r--app/Providers/RouteServiceProvider.php16
-rw-r--r--app/User.php6
-rw-r--r--database/migrations/2014_10_12_000000_create_users_table.php1
-rw-r--r--database/seeds/DatabaseSeeder.php3
-rw-r--r--routes/keys.php18
-rw-r--r--routes/web.php3
7 files changed, 35 insertions, 14 deletions
diff --git a/app/Http/Controllers/PublicKeyController.php b/app/Http/Controllers/PublicKeyController.php
index 4557733..af59cc2 100644
--- a/app/Http/Controllers/PublicKeyController.php
+++ b/app/Http/Controllers/PublicKeyController.php
@@ -29,7 +29,7 @@ class PublicKeyController extends Controller
$public_key->key = $request->input('key');
$public_key->save();
- return response()->json(['message' => 'Successfully inserted public key.']);
+ return response()->json(['message' => 'Successfully inserted public key.'], 201);
}
public function setUsersKeyByCookie(Request $request)
diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php
index 5ea48d3..49f44ff 100644
--- a/app/Providers/RouteServiceProvider.php
+++ b/app/Providers/RouteServiceProvider.php
@@ -2,8 +2,8 @@
namespace App\Providers;
-use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
+use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider
{
@@ -52,8 +52,12 @@ class RouteServiceProvider extends ServiceProvider
protected function mapWebRoutes()
{
Route::middleware('web')
- ->namespace($this->namespace)
- ->group(base_path('routes/web.php'));
+ ->namespace($this->namespace)
+ ->group(base_path('routes/web.php'));
+
+ Route::middleware('web')
+ ->namespace($this->namespace)
+ ->group(base_path('routes/keys.php'));
}
/**
@@ -66,8 +70,8 @@ class RouteServiceProvider extends ServiceProvider
protected function mapApiRoutes()
{
Route::prefix('api')
- ->middleware('api')
- ->namespace($this->namespace)
- ->group(base_path('routes/api.php'));
+ //->middleware('api')
+ ->namespace($this->namespace)
+ ->group(base_path('routes/api.php'));
}
}
diff --git a/app/User.php b/app/User.php
index 923e2cc..f263c47 100644
--- a/app/User.php
+++ b/app/User.php
@@ -13,15 +13,15 @@ class User extends Authenticatable
* @var array
*/
protected $fillable = [
- 'name', 'email', 'password', 'prevHash','hash'
+ 'name', 'email', 'password', 'prevHash', 'hash',
];
-
+
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
- 'password', 'remember_token',
+ 'password', 'remember_token', 'prevHash',
];
}
diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php
index 9281465..1846db1 100644
--- a/database/migrations/2014_10_12_000000_create_users_table.php
+++ b/database/migrations/2014_10_12_000000_create_users_table.php
@@ -20,6 +20,7 @@ class CreateUsersTable extends Migration
$table->string('avatar')->default('0.png');
$table->string('prevHash', 60)->unique();
$table->string('hash', 60)->unique();
+ $table->string('api_token')->default("");
$table->rememberToken();
$table->timestamps();
});
diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php
index 1f7953b..8edbc8e 100644
--- a/database/seeds/DatabaseSeeder.php
+++ b/database/seeds/DatabaseSeeder.php
@@ -27,7 +27,8 @@ class DatabaseSeeder extends Seeder
'email' => 'marvin@borners.de',
'password' => Hash::make('password'),
'prevHash' => Hash::make('genesis'),
- 'hash' => Hash::make(Hash::make('genesis') . 'Marvin Borner' . 'marvin@borners.de' . Hash::make('password')) // hashing: prev hash, all fields in current 'block'
+ 'hash' => Hash::make(Hash::make('genesis') . 'Marvin Borner' . 'marvin@borners.de' . Hash::make('password')), // hashing: prev hash, all fields in current 'block'
+ 'api_token' => "password"
]);
}
}
diff --git a/routes/keys.php b/routes/keys.php
new file mode 100644
index 0000000..52c7b3a
--- /dev/null
+++ b/routes/keys.php
@@ -0,0 +1,18 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| Routes for public keys
+|--------------------------------------------------------------------------
+|
+| Here is where you can register web routes for your application. These
+| routes are loaded by the RouteServiceProvider within a group which
+| contains the "web" middleware group. Now create something great!
+|
+ */
+Auth::routes();
+Route::middleware('auth', 'throttle:30') // throttle to 30 per minute
+ ->group(function () {
+ Route::get('keys/cookie/public/', 'PublicKeyController@setUsersKeyByCookie');
+ Route::get('keys/public/{user_id}', 'PublicKeyController@getUsersKey');
+ Route::post('keys/public', 'PublicKeyController@setUsersKey');
+ });
diff --git a/routes/web.php b/routes/web.php
index c0c8f47..0b980a1 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -15,10 +15,7 @@ Route::middleware('auth', 'throttle:30') // throttle to 30 per minute
Route::get('/', ['as' => 'writeMessage', 'uses' => 'SocketController@writeMessage']);
Route::get('avatar/{user_id}', 'ImageController@getAvatar');
Route::get('profile', 'UserController@Profile');
- Route::get('keys/cookie/public/', 'PublicKeyController@setUsersKeyByCookie'); // actually it's a post but it has to be get (via cookie) => TODO:
- Route::get('keys/public/{user_id}', 'PublicKeyController@getUsersKey');
Route::post('avatar', 'UserController@updateAvatar');
- Route::post('keys/public', 'PublicKeyController@setUsersKey');
Route::post('sendMessage', 'SocketController@sendMessage');
});