diff --git a/.travis.yml b/.travis.yml index c5fd3364..71496ec4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,6 +36,7 @@ before_script: - php artisan key:generate - php artisan migrate - php artisan db:seed + - php artisan token:generate - php artisan serve & - sleep 5 # Give artisan some time to start serving diff --git a/app/Console/Commands/GenerateToken.php b/app/Console/Commands/GenerateToken.php new file mode 100644 index 00000000..dc07e917 --- /dev/null +++ b/app/Console/Commands/GenerateToken.php @@ -0,0 +1,59 @@ + env('APP_URL'), + 'client_id' => env('APP_URL') . '/notes/new', + 'scope' => 'post', + ]; + $token = $tokenService->getNewToken($data); + Storage::disk('local')->put('dev-token', $token); + + $this->info('Set token'); + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 51ec553b..0a0aa08d 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -16,6 +16,7 @@ class Kernel extends ConsoleKernel Commands\SecurityCheck::class, Commands\ParseCachedWebMentions::class, Commands\ReDownloadWebMentions::class, + Commands\GenerateToken::class, ]; /** diff --git a/app/Http/Controllers/MicropubController.php b/app/Http/Controllers/MicropubController.php index bf26146f..5e7e3a92 100644 --- a/app/Http/Controllers/MicropubController.php +++ b/app/Http/Controllers/MicropubController.php @@ -124,35 +124,7 @@ class MicropubController extends Controller //we have a valid token, is `syndicate-to` set? if ($request->input('q') === 'syndicate-to') { return response()->json([ - 'syndicate-to' => [ - [ - 'uid' => 'https://twitter.com/jonnybarnes', - 'name' => 'jonnybarnes on Twitter', - 'service' => [ - 'name' => 'Twitter', - 'url' => 'https://twitter.com', - 'photo' => 'https://upload.wikimedia.org/wikipedia/en/9/9f/Twitter_bird_logo_2012.svg', - ], - 'user' => [ - 'name' => 'jonnybarnes', - 'url' => 'https://twitter.com/jonnybarnes', - 'photo' => 'https://pbs.twimg.com/profile_images/1853565405/jmb-bw.jpg', - ], - ], - [ - 'uid' => 'https://facebook.com/jonnybarnes', - 'name' => 'jonnybarnes on Facebook', - 'service' => [ - 'name' => 'Facebook', - 'url' => 'https://facebook.com', - 'photo' => 'https://en.facebookbrand.com/wp-content/uploads/2016/05/FB-fLogo-Blue-broadcast-2.png', - ], - 'user' => [ - 'name' => 'jonnybarnes', - 'url' => 'https://facebook.com/jonnybarnes', - ], - ], - ], + 'syndicate-to' => config('syndication.targets') ]); } //nope, how about a geo URL? @@ -176,35 +148,7 @@ class MicropubController extends Controller //nope, ho about a config query? if ($request->input('q') == 'config') { return response()->json([ - 'syndicate-to' => [ - [ - 'uid' => 'https://twitter.com/jonnybarnes', - 'name' => 'jonnybarnes on Twitter', - 'service' => [ - 'name' => 'Twitter', - 'url' => 'https://twitter.com', - 'photo' => 'https://upload.wikimedia.org/wikipedia/en/9/9f/Twitter_bird_logo_2012.svg', - ], - 'user' => [ - 'name' => 'jonnybarnes', - 'url' => 'https://twitter.com/jonnybarnes', - 'photo' => 'https://pbs.twimg.com/profile_images/1853565405/jmb-bw.jpg', - ], - ], - [ - 'uid' => 'https://facebook.com/jonnybarnes', - 'name' => 'jonnybarnes on Facebook', - 'service' => [ - 'name' => 'Facebook', - 'url' => 'https://facebook.com', - 'photo' => 'https://en.facebookbrand.com/wp-content/uploads/2016/05/FB-fLogo-Blue-broadcast-2.png', - ], - 'user' => [ - 'name' => 'jonnybarnes', - 'url' => 'https://facebook.com/jonnybarnes', - ], - ], - ], + 'syndicate-to' => config('syndication.targets') ]); } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index eef69c57..51e46809 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -5,6 +5,7 @@ namespace App\Providers; use App\Tag; use App\Note; use Validator; +use Illuminate\Support\Facades\Storage; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -48,8 +49,10 @@ class AppServiceProvider extends ServiceProvider //allow micropub use in development if (env('APP_DEBUG') == true) { - session(['me' => 'https://jonnybarnes.localhost']); - session(['token' => 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZSI6Imh0dHBzOlwvXC9qb25ueWJhcm5lcy5sb2NhbGhvc3QiLCJjbGllbnRfaWQiOiJodHRwczpcL1wvam9ubnliYXJuZXMubG9jYWxob3N0XC9ub3Rlc1wvbmV3Iiwic2NvcGUiOiJwb3N0IiwiZGF0ZV9pc3N1ZWQiOjE0ODA1ODg2MTYsIm5vbmNlIjoiMTIyOGZlOThjMjFmNTc4OCJ9.xNxViQaFkNaDXIH5gAZiG-GkLeYC-fQq-puHkBSesw0']); + session(['me' => env('APP_URL')]); + if (Storage::exists('dev-token')) { + session(['token' => Storage::get('dev-token')]); + } } } diff --git a/changelog.md b/changelog.md index fc95d85f..e71be73b 100644 --- a/changelog.md +++ b/changelog.md @@ -6,6 +6,7 @@ - Switch to Makefile for front-end build tasks - Switch to Postgres based search - Update travis to use aforementioned search and php 7.1 + - Move syndication tarhets into a config file (issue#27) ## Version 0.0.17 (2016-11-25) - Add a basic search feature using Laravel Scout and Algolia (issue#38) diff --git a/config/syndication.php b/config/syndication.php new file mode 100644 index 00000000..e5accd8b --- /dev/null +++ b/config/syndication.php @@ -0,0 +1,38 @@ + [ + [ + 'uid' => 'https://twitter.com/jonnybarnes', + 'name' => 'jonnybarnes on Twitter', + 'service' => [ + 'name' => 'Twitter', + 'url' => 'https://twitter.com', + 'photo' => 'https://upload.wikimedia.org/wikipedia/en/9/9f/Twitter_bird_logo_2012.svg', + ], + 'user' => [ + 'name' => 'jonnybarnes', + 'url' => 'https://twitter.com/jonnybarnes', + 'photo' => 'https://pbs.twimg.com/profile_images/1853565405/jmb-bw.jpg', + ], + ], + [ + 'uid' => 'https://facebook.com/jonnybarnes', + 'name' => 'jonnybarnes on Facebook', + 'service' => [ + 'name' => 'Facebook', + 'url' => 'https://facebook.com', + 'photo' => 'https://en.facebookbrand.com/wp-content/uploads/2016/05/FB-fLogo-Blue-broadcast-2.png', + ], + 'user' => [ + 'name' => 'jonnybarnes', + 'url' => 'https://facebook.com/jonnybarnes', + ], + ] + ] +];