diff options
author | Marvin Borner | 2018-07-09 19:57:19 +0200 |
---|---|---|
committer | Marvin Borner | 2018-07-09 19:57:19 +0200 |
commit | 75adb031897ab2a2b66051e1acb186bfdff6a4a4 (patch) | |
tree | 5cacef38857ba9d76342bdca79fc77754a908e38 | |
parent | 0675967adc29e267f7b15bd9f9090bb16cb0339b (diff) |
Better API
-rw-r--r-- | app/Http/Controllers/PublicKeyController.php | 2 | ||||
-rw-r--r-- | app/Providers/RouteServiceProvider.php | 16 | ||||
-rw-r--r-- | app/User.php | 6 | ||||
-rw-r--r-- | database/migrations/2014_10_12_000000_create_users_table.php | 1 | ||||
-rw-r--r-- | database/seeds/DatabaseSeeder.php | 3 | ||||
-rw-r--r-- | routes/keys.php | 18 | ||||
-rw-r--r-- | routes/web.php | 3 |
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'); }); |