File tree Expand file tree Collapse file tree 1 file changed +17
-4
lines changed Expand file tree Collapse file tree 1 file changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -188,15 +188,28 @@ func callbackHandler(w http.ResponseWriter, r *http.Request) {
188
188
189
189
func parseToken (idToken string ) (* jwt.Token , error ) {
190
190
token , err := jwt .Parse (idToken , func (token * jwt.Token ) (interface {}, error ) {
191
- if _ , ok := token .Method .(* jwt.SigningMethodHMAC ); ! ok {
192
- return nil , fmt .Errorf ("Unexpected signing method" )
193
- }
194
191
return []byte (cfg .ClientSecret ), nil
195
192
})
196
193
if err != nil {
197
194
return nil , err
198
195
}
199
- return token , nil
196
+ if token .Valid {
197
+ return token , nil
198
+ } else if ve , ok := err .(* jwt.ValidationError ); ok {
199
+ if ve .Errors & jwt .ValidationErrorMalformed != 0 {
200
+ log .Println ("That's not even a token" )
201
+ return nil , err
202
+ } else if ve .Errors & (jwt .ValidationErrorExpired | jwt .ValidationErrorNotValidYet ) != 0 {
203
+ log .Println ("Timing is everything" )
204
+ return nil , err
205
+ } else {
206
+ log .Errorf ("Couldn't handle this token:%s" , err )
207
+ return nil , err
208
+ }
209
+ } else {
210
+ log .Errorf ("Couldn't handle this token:%s" , err )
211
+ return nil , err
212
+ }
200
213
}
201
214
202
215
func commandlineHandler (w http.ResponseWriter , r * http.Request ) {
You can’t perform that action at this time.
0 commit comments