github

package
v2.1.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2018 License: MIT Imports: 9 Imported by: 18

Documentation

Overview

Package github provides Github OAuth2 login and callback handlers.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnableToGetGithubUser = errors.New("github: unable to get Github User")
)

Github login errors

Functions

func CallbackHandler

func CallbackHandler(config *oauth2.Config, success, failure http.Handler) http.Handler

CallbackHandler handles Github redirection URI requests and adds the Github access token and User to the ctx. If authentication succeeds, handling delegates to the success handler, otherwise to the failure handler.

func EnterpriseCallbackHandler

func EnterpriseCallbackHandler(config *oauth2.Config, success, failure http.Handler) http.Handler

EnterpriseCallbackHandler handles Github Enterprise redirection URI requests and adds the Github access token and User to the ctx. If authentication succeeds,handling delegates to the success handler, otherwise to the failure handler. The Github Enterprise API URL is inferred from the OAuth2 config's AuthURL endpoint.

func LoginHandler

func LoginHandler(config *oauth2.Config, failure http.Handler) http.Handler

LoginHandler handles Github login requests by reading the state value from the ctx and redirecting requests to the AuthURL with that state value.

func StateHandler

func StateHandler(config gologin.CookieConfig, success http.Handler) http.Handler

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 http.Handler which sets the ctx state, using oauth2 WithState(ctx, state) since it is required by LoginHandler and CallbackHandler.

func UserFromContext

func UserFromContext(ctx context.Context) (*github.User, error)

UserFromContext returns the Github User from the ctx.

func WithUser

func WithUser(ctx context.Context, user *github.User) context.Context

WithUser returns a copy of ctx that stores the Github User.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL