summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/dgrijalva/jwt-go/request/oauth2.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/dgrijalva/jwt-go/request/oauth2.go')
-rw-r--r--vendor/github.com/dgrijalva/jwt-go/request/oauth2.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/vendor/github.com/dgrijalva/jwt-go/request/oauth2.go b/vendor/github.com/dgrijalva/jwt-go/request/oauth2.go
new file mode 100644
index 00000000..5948694a
--- /dev/null
+++ b/vendor/github.com/dgrijalva/jwt-go/request/oauth2.go
@@ -0,0 +1,28 @@
+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
+}
+
+// Extract bearer token from Authorization header
+// Uses PostExtractionFilter to strip "Bearer " prefix from header
+var AuthorizationHeaderExtractor = &PostExtractionFilter{
+ HeaderExtractor{"Authorization"},
+ stripBearerPrefixFromTokenString,
+}
+
+// Extractor for OAuth2 access tokens. Looks in 'Authorization'
+// header then 'access_token' argument for a token.
+var OAuth2Extractor = &MultiExtractor{
+ AuthorizationHeaderExtractor,
+ ArgumentExtractor{"access_token"},
+}