File tree Expand file tree Collapse file tree 6 files changed +38
-2
lines changed Expand file tree Collapse file tree 6 files changed +38
-2
lines changed Original file line number Diff line number Diff line change @@ -62,6 +62,7 @@ func main() {
62
62
auth , err := auth.Config {
63
63
TokenJar : jar .(auth.TokenJar ),
64
64
TokenBytes : 8 ,
65
+ Bearer : true , // Use bearer token in requests for authorization
65
66
}.New ()
66
67
if err != nil {
67
68
log .Fatal (err )
@@ -77,12 +78,14 @@ func main() {
77
78
Service : n .(server.ServiceEndpoints ),
78
79
Middleware : []server.Middleware {
79
80
logger .(server.Middleware ),
81
+ auth .(server.Middleware ),
80
82
},
81
83
},
82
84
"auth" : { // /api/auth/...
83
85
Service : auth .(server.ServiceEndpoints ),
84
86
Middleware : []server.Middleware {
85
87
logger .(server.Middleware ),
88
+ auth .(server.Middleware ),
86
89
},
87
90
},
88
91
},
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import (
11
11
type Config struct {
12
12
TokenJar TokenJar `hcl:"token_jar" description:"Persistent storage for tokens"`
13
13
TokenBytes int `hcl:"token_bytes" description:"Number of bytes in a token"`
14
+ Bearer bool `hcl:"bearer" description:"Use bearer token for authorization"`
14
15
}
15
16
16
17
// Check interfaces are satisfied
Original file line number Diff line number Diff line change @@ -15,6 +15,12 @@ import (
15
15
types "github.com/mutablelogic/go-server/pkg/types"
16
16
)
17
17
18
+ ///////////////////////////////////////////////////////////////////////////////
19
+ // TYPES
20
+
21
+ // Check interfaces are satisfied
22
+ var _ server.ServiceEndpoints = (* auth )(nil )
23
+
18
24
///////////////////////////////////////////////////////////////////////////////
19
25
// GLOBALS
20
26
Original file line number Diff line number Diff line change
1
+ package auth
2
+
3
+ import (
4
+ "context"
5
+ "net/http"
6
+
7
+ // Packages
8
+ "github.com/mutablelogic/go-server"
9
+ "github.com/mutablelogic/go-server/pkg/provider"
10
+ )
11
+
12
+ ///////////////////////////////////////////////////////////////////////////////
13
+ // TYPES
14
+
15
+ // Check interfaces are satisfied
16
+ var _ server.Middleware = (* auth )(nil )
17
+
18
+ ///////////////////////////////////////////////////////////////////////////////
19
+ // PUBLIC METHODS
20
+
21
+ func (middleware * auth ) Wrap (ctx context.Context , next http.HandlerFunc ) http.HandlerFunc {
22
+ logger := provider .Logger (ctx )
23
+ return func (w http.ResponseWriter , r * http.Request ) {
24
+ logger .Printf (ctx , "TODO Auth: %v" , r .URL )
25
+ next (w , r )
26
+ }
27
+ }
Original file line number Diff line number Diff line change @@ -21,7 +21,6 @@ type auth struct {
21
21
22
22
// Check interfaces are satisfied
23
23
var _ server.Task = (* auth )(nil )
24
- var _ server.ServiceEndpoints = (* auth )(nil )
25
24
26
25
///////////////////////////////////////////////////////////////////////////////
27
26
// LIFECYCLE
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ func (jar *tokenjar) Run(ctx context.Context) error {
33
33
if err := jar .Write (); err != nil {
34
34
logger .Print (ctx , err )
35
35
} else {
36
- logger .Print (ctx , "Sync %q" , filepath .Base (jar .filename ))
36
+ logger .Printf (ctx , "Sync %q" , filepath .Base (jar .filename ))
37
37
}
38
38
}
39
39
case <- ctx .Done ():
You can’t perform that action at this time.
0 commit comments