jwt/request/oauth2.go

29 lines
822 B
Go
Raw Normal View History

package request
import (
"strings"
)
// Strips 'Bearer ' prefix from bearer token string
func stripBearerPrefixFromTokenString(tok string) (string, error) {
// Should be a bearer token
if len(tok) > 6 && strings.ToUpper(tok[0:7]) == "BEARER " {
return tok[7:], nil
}
return tok, nil
}
// AuthorizationHeaderExtractor extracts a bearer token from Authorization header
2016-06-07 02:55:41 +03:00
// Uses PostExtractionFilter to strip "Bearer " prefix from header
var AuthorizationHeaderExtractor = &PostExtractionFilter{
HeaderExtractor{"Authorization"},
stripBearerPrefixFromTokenString,
}
// OAuth2Extractor is an Extractor for OAuth2 access tokens. Looks in 'Authorization'
2016-06-07 02:55:41 +03:00
// header then 'access_token' argument for a token.
var OAuth2Extractor = &MultiExtractor{
AuthorizationHeaderExtractor,
2016-06-07 03:18:24 +03:00
ArgumentExtractor{"access_token"},
}