Documentation ¶
Overview ¶
Package oauth2 provides handlers for OAuth2 login and callback requests.
Index ¶
- Variables
- func CallbackHandler(config *oauth2.Config, success, failure ctxh.ContextHandler) ctxh.ContextHandler
- func LoginHandler(config *oauth2.Config, failure ctxh.ContextHandler) ctxh.ContextHandler
- func StateFromContext(ctx context.Context) (string, error)
- func StateHandler(config gologin.CookieConfig, success ctxh.ContextHandler) ctxh.ContextHandler
- func TokenFromContext(ctx context.Context) (*oauth2.Token, error)
- func WithState(ctx context.Context, state string) context.Context
- func WithToken(ctx context.Context, token *oauth2.Token) context.Context
Constants ¶
This section is empty.
Variables ¶
var (
ErrInvalidState = errors.New("oauth2: Invalid OAuth2 state parameter")
)
Errors which may occur on login.
Functions ¶
func CallbackHandler ¶
func CallbackHandler(config *oauth2.Config, success, failure ctxh.ContextHandler) ctxh.ContextHandler
CallbackHandler handles OAuth2 redirection URI requests by parsing the auth code and state, comparing with the state value from the ctx, and obtaining an OAuth2 Token.
func LoginHandler ¶
func LoginHandler(config *oauth2.Config, failure ctxh.ContextHandler) ctxh.ContextHandler
LoginHandler handles OAuth2 login requests by reading the state value from the ctx and redirecting requests to the AuthURL with that state value.
func StateFromContext ¶
StateFromContext returns the state value from the ctx.
func StateHandler ¶
func StateHandler(config gologin.CookieConfig, success ctxh.ContextHandler) ctxh.ContextHandler
StateHandler checks for a state cookie. If found, the state value is read and added to the ctx. Otherwise, a non-guessable value is added to the ctx and to a (short-lived) state cookie issued to the requester.
Implements OAuth 2 RFC 6749 10.12 CSRF Protection. If you wish to issue state params differently, write a ContextHandler which sets the ctx state, using oauth2 WithState(ctx, state) since it is required by LoginHandler and CallbackHandler.
func TokenFromContext ¶
TokenFromContext returns the Token from the ctx.
Types ¶
This section is empty.