File tree Expand file tree Collapse file tree 2 files changed +56
-4
lines changed Expand file tree Collapse file tree 2 files changed +56
-4
lines changed Original file line number Diff line number Diff line change @@ -13,16 +13,22 @@ The driver contains a firebase guard that authenticates user by Firebase Authent
13
13
composer require firevel/firebase-authentication
14
14
```
15
15
16
- 2 ) Update config/auth.php with:
16
+ 2 ) Update config/auth.php.
17
+
17
18
```
18
19
'guards' => [
19
- ....
20
- 'api' => [
20
+ 'web' => [
21
21
'driver' => 'firebase',
22
22
'provider' => 'users',
23
23
],
24
+
25
+ 'api' => [
26
+ 'driver' => 'token',
27
+ 'provider' => 'users',
28
+ ],
24
29
],
25
30
```
31
+
26
32
3 ) Update your User model with ` Firevel\FirebaseAuthentication\FirebaseAuthenticable ` trait ` $incrementing = false ` and fillables.
27
33
28
34
Eloquent example:
@@ -37,7 +43,7 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
37
43
38
44
class User extends Authenticatable
39
45
{
40
- use Notifiable;
46
+ use Notifiable, FirebaseAuthenticable ;
41
47
42
48
/**
43
49
* Indicates if the IDs are auto-incrementing.
@@ -101,6 +107,23 @@ $table->string('picture');
101
107
$table->timestamps();
102
108
```
103
109
110
+ ## Web guard
111
+
112
+ In order to use firebase authentication in web routes you must attach bearer token to each http request.
113
+
114
+ You can also store bearer token in ` bearer_token ` cookie variable and add to your ` Kernel.php ` :
115
+ ```
116
+ protected $middlewareGroups = [
117
+ 'web' => [
118
+ ...
119
+ \Firevel\FirebaseAuthentication\Http\Middleware\AddAccessTokenFromCookie::class,
120
+ ...
121
+ ],
122
+
123
+ ...
124
+ ];
125
+ ```
126
+
104
127
## Usage
105
128
106
129
Attach to each API call regular bearer token provided by Firebase Authentication.
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Firevel \FirebaseAuthentication \Http \Middleware ;
4
+
5
+ use Closure ;
6
+
7
+ class AddAccessTokenFromCookie
8
+ {
9
+ /**
10
+ * Store token from cookie in authorization header.
11
+ *
12
+ * @param \Illuminate\Http\Request $request
13
+ * @param \Closure $next
14
+ *
15
+ * @return mixed
16
+ */
17
+ public function handle ($ request , Closure $ next )
18
+ {
19
+ if (empty ($ request ->bearerToken ())) {
20
+ $ tokenCookie = config ('firebase.token_cookie ' , 'bearer_token ' );
21
+ if ($ request ->hasCookie ($ tokenCookie )) {
22
+ $ token = $ request ->cookie ($ tokenCookie );
23
+ $ request ->headers ->add (['Authorization ' => 'Bearer ' .$ token ]);
24
+ }
25
+ }
26
+
27
+ return $ next ($ request );
28
+ }
29
+ }
You can’t perform that action at this time.
0 commit comments