diff options
Diffstat (limited to 'vendor/code.superseriousbusiness.org/oauth2/v4/server/handler.go')
| -rw-r--r-- | vendor/code.superseriousbusiness.org/oauth2/v4/server/handler.go | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/vendor/code.superseriousbusiness.org/oauth2/v4/server/handler.go b/vendor/code.superseriousbusiness.org/oauth2/v4/server/handler.go deleted file mode 100644 index 808b476d8..000000000 --- a/vendor/code.superseriousbusiness.org/oauth2/v4/server/handler.go +++ /dev/null @@ -1,121 +0,0 @@ -package server - -import ( - "context" - "net/http" - "strings" - "time" - - "code.superseriousbusiness.org/oauth2/v4" - "code.superseriousbusiness.org/oauth2/v4/errors" -) - -type ( - // ClientInfoHandler get client info from request - ClientInfoHandler func(r *http.Request) (clientID, clientSecret string, err error) - - // ClientAuthorizedHandler check the client allows to use this authorization grant type - ClientAuthorizedHandler func(clientID string, grant oauth2.GrantType) (allowed bool, err error) - - // ClientScopeHandler check the client allows to use scope - ClientScopeHandler func(tgr *oauth2.TokenGenerateRequest) (allowed bool, err error) - - // UserAuthorizationHandler get user id from request authorization - UserAuthorizationHandler func(w http.ResponseWriter, r *http.Request) (userID string, err error) - - // PasswordAuthorizationHandler get user id from username and password - PasswordAuthorizationHandler func(ctx context.Context, clientID, username, password string) (userID string, err error) - - // RefreshingScopeHandler check the scope of the refreshing token - RefreshingScopeHandler func(tgr *oauth2.TokenGenerateRequest, oldScope string) (allowed bool, err error) - - // RefreshingValidationHandler check if refresh_token is still valid. eg no revocation or other - RefreshingValidationHandler func(ti oauth2.TokenInfo) (allowed bool, err error) - - // ResponseErrorHandler response error handing - ResponseErrorHandler func(re *errors.Response) - - // InternalErrorHandler internal error handing - InternalErrorHandler func(err error) (re *errors.Response) - - // PreRedirectErrorHandler is used to override "redirect-on-error" behavior - PreRedirectErrorHandler func(w http.ResponseWriter, req *AuthorizeRequest, err error) error - - // AuthorizeScopeHandler set the authorized scope - AuthorizeScopeHandler func(w http.ResponseWriter, r *http.Request) (scope string, err error) - - // AccessTokenExpHandler set expiration date for the access token - AccessTokenExpHandler func(w http.ResponseWriter, r *http.Request) (exp time.Duration, err error) - - // ExtensionFieldsHandler in response to the access token with the extension of the field - ExtensionFieldsHandler func(ti oauth2.TokenInfo) (fieldsValue map[string]interface{}) - - // ResponseTokenHandler response token handling - ResponseTokenHandler func(w http.ResponseWriter, data map[string]interface{}, header http.Header, statusCode ...int) error - - // Handler to fetch the refresh token from the request - RefreshTokenResolveHandler func(r *http.Request) (string, error) - - // Handler to fetch the access token from the request - AccessTokenResolveHandler func(r *http.Request) (string, bool) -) - -// ClientFormHandler get client data from form -func ClientFormHandler(r *http.Request) (string, string, error) { - clientID := r.Form.Get("client_id") - if clientID == "" { - return "", "", errors.ErrInvalidClient - } - clientSecret := r.Form.Get("client_secret") - return clientID, clientSecret, nil -} - -// ClientBasicHandler get client data from basic authorization -func ClientBasicHandler(r *http.Request) (string, string, error) { - username, password, ok := r.BasicAuth() - if !ok { - return "", "", errors.ErrInvalidClient - } - return username, password, nil -} - -func RefreshTokenFormResolveHandler(r *http.Request) (string, error) { - rt := r.FormValue("refresh_token") - if rt == "" { - return "", errors.ErrInvalidRequest - } - - return rt, nil -} - -func RefreshTokenCookieResolveHandler(r *http.Request) (string, error) { - c, err := r.Cookie("refresh_token") - if err != nil { - return "", errors.ErrInvalidRequest - } - - return c.Value, nil -} - -func AccessTokenDefaultResolveHandler(r *http.Request) (string, bool) { - token := "" - auth := r.Header.Get("Authorization") - prefix := "Bearer " - - if auth != "" && strings.HasPrefix(auth, prefix) { - token = auth[len(prefix):] - } else { - token = r.FormValue("access_token") - } - - return token, token != "" -} - -func AccessTokenCookieResolveHandler(r *http.Request) (string, bool) { - c, err := r.Cookie("access_token") - if err != nil { - return "", false - } - - return c.Value, true -} |
