Skip to content

Commit e28a120

Browse files
committed
Setup OAuth
1 parent 4f4d297 commit e28a120

File tree

11 files changed

+1062
-35
lines changed

11 files changed

+1062
-35
lines changed

.rnd

1 KB
Binary file not shown.

app/Http/Controllers/Country/Country.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Country extends Controller {
1414
* @return \Illuminate\Http\Response
1515
*/
1616
public function index() {
17-
$countries = CountryModel::get();
17+
$countries = CountryModel::paginate(10);
1818

1919
return response()->json($countries, 200);
2020
}

app/Http/Kernel.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ class Kernel extends HttpKernel
4040
'api' => [
4141
'throttle:60,1',
4242
\Illuminate\Routing\Middleware\SubstituteBindings::class,
43-
\App\HttP\Middleware\AuthKey::class,
43+
// \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
44+
// \App\Http\Middleware\AuthBasic::class,
45+
// \App\Http\Middleware\AuthKey::class,
4446
],
4547
];
4648

@@ -62,6 +64,7 @@ class Kernel extends HttpKernel
6264
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
6365
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
6466
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
67+
'client_credentials' => \Laravel\Passport\Http\Middleware\CheckClientCredentials::class,
6568
];
6669

6770
/**

app/Http/Middleware/AuthBasic.php

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace App\Http\Middleware;
4+
5+
use Closure;
6+
use Illuminate\Support\Facades\Auth;
7+
8+
class AuthBasic {
9+
/**
10+
* Handle an incoming request.
11+
*
12+
* @param \Illuminate\Http\Request $request
13+
* @param \Closure $next
14+
* @return mixed
15+
*/
16+
public function handle($request, Closure $next) {
17+
18+
if(Auth::onceBasic()){
19+
return response()->json(['message' => 'Authentication fialed'], 401);
20+
}
21+
else {
22+
return $next($request);
23+
}
24+
}
25+
}

app/Providers/AuthServiceProvider.php

+10-5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
namespace App\Providers;
44

5-
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
5+
use Laravel\Passport\Passport;
66
use Illuminate\Support\Facades\Gate;
7+
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
78

89
class AuthServiceProvider extends ServiceProvider
910
{
@@ -13,18 +14,22 @@ class AuthServiceProvider extends ServiceProvider
1314
* @var array
1415
*/
1516
protected $policies = [
16-
// 'App\Model' => 'App\Policies\ModelPolicy',
17+
'App\Model' => 'App\Policies\ModelPolicy',
1718
];
1819

1920
/**
2021
* Register any authentication / authorization services.
2122
*
2223
* @return void
2324
*/
24-
public function boot()
25-
{
25+
public function boot() {
2626
$this->registerPolicies();
27+
Passport::routes();
2728

28-
//
29+
// extending the expiry of the tokens
30+
$startTime = date('Y-m-d H:i:s');
31+
$endTime = date('Y-m-d H:i:s', strtotime('+7 day +1 hour +30 minutes +45 seconds', strtotime($startTime)));
32+
$expTime = \DateTime::createFromFOrmat('Y-m-d H:i:s', $endTime);
33+
Passport::tokensExpireIn($expTime);
2934
}
3035
}

app/User.php

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Illuminate\Contracts\Auth\MustVerifyEmail;
66
use Illuminate\Foundation\Auth\User as Authenticatable;
77
use Illuminate\Notifications\Notifiable;
8+
use Laravel\Passport\HasApiTokens;
9+
810

911
class User extends Authenticatable
1012
{

composer.json

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"php": "^7.2",
1212
"fideloper/proxy": "^4.0",
1313
"laravel/framework": "^6.2",
14+
"laravel/passport": "^8.2",
1415
"laravel/tinker": "^2.0",
1516
"laravel/ui": "^1.1"
1617
},

0 commit comments

Comments
 (0)