Skip to content

Commit 58f2de8

Browse files
committed
Example added support for jwt
1 parent 8889d76 commit 58f2de8

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -134,26 +134,28 @@ Simulation examples of authorization code model, please check [example](/example
134134

135135
```go
136136

137-
import "gopkg.in/oauth2.v3/generates"
138-
import "github.com/dgrijalva/jwt-go"
137+
import (
138+
"gopkg.in/oauth2.v3/generates"
139+
"github.com/dgrijalva/jwt-go"
140+
)
139141

140142
// ...
141143
manager.MapAccessGenerate(generates.NewJWTAccessGenerate([]byte("00000000"), jwt.SigningMethodHS512))
142144

143-
// Verify jwt access token
145+
// Parse and verify jwt access token
144146
token, err := jwt.ParseWithClaims(access, &generates.JWTAccessClaims{}, func(t *jwt.Token) (interface{}, error) {
145147
if _, ok := t.Method.(*jwt.SigningMethodHMAC); !ok {
146148
return nil, fmt.Errorf("parse error")
147149
}
148150
return []byte("00000000"), nil
149151
})
150152
if err != nil {
151-
panic(err)
153+
// panic(err)
152154
}
153155

154156
claims, ok := token.Claims.(*generates.JWTAccessClaims)
155157
if !ok || !token.Valid {
156-
panic("invalid token")
158+
// panic("invalid token")
157159
}
158160
```
159161

example/server/server.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ import (
88
"os"
99
"time"
1010

11+
"github.com/dgrijalva/jwt-go"
1112
"github.com/go-session/session"
1213
"gopkg.in/oauth2.v3/errors"
14+
"gopkg.in/oauth2.v3/generates"
1315
"gopkg.in/oauth2.v3/manage"
1416
"gopkg.in/oauth2.v3/models"
1517
"gopkg.in/oauth2.v3/server"
@@ -23,6 +25,9 @@ func main() {
2325
// token store
2426
manager.MustTokenStorage(store.NewMemoryTokenStore())
2527

28+
// generate jwt access token
29+
manager.MapAccessGenerate(generates.NewJWTAccessGenerate([]byte("00000000"), jwt.SigningMethodHS512))
30+
2631
clientStore := store.NewClientStore()
2732
clientStore.Set("222222", &models.Client{
2833
ID: "222222",
@@ -32,12 +37,14 @@ func main() {
3237
manager.MapClientStorage(clientStore)
3338

3439
srv := server.NewServer(server.NewConfig(), manager)
40+
3541
srv.SetPasswordAuthorizationHandler(func(username, password string) (userID string, err error) {
3642
if username == "test" && password == "test" {
3743
userID = "test"
3844
}
3945
return
4046
})
47+
4148
srv.SetUserAuthorizationHandler(userAuthorizeHandler)
4249

4350
srv.SetInternalErrorHandler(func(err error) (re *errors.Response) {

0 commit comments

Comments
 (0)