gitlab

package
v1.45.7 Latest Latest
Warning

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

Go to latest
Published: May 24, 2018 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package gitlab implements the OAuth2 protocol for authenticating users through gitlab. This package can be used as a reference implementation of an OAuth2 provider for Goth.

Index

Constants

This section is empty.

Variables

View Source
var (
	AuthURL    = "https://gitlab.com/oauth/authorize"
	TokenURL   = "https://gitlab.com/oauth/token"
	ProfileURL = "https://gitlab.com/api/v3/user"
)

These vars define the Authentication, Token, and Profile URLS for Gitlab. If using Gitlab CE or EE, you should change these values before calling New.

Examples:

gitlab.AuthURL = "https://gitlab.acme.com/oauth/authorize
gitlab.TokenURL = "https://gitlab.acme.com/oauth/token
gitlab.ProfileURL = "https://gitlab.acme.com/api/v3/user

Functions

This section is empty.

Types

type Provider

type Provider struct {
	ClientKey   string
	Secret      string
	CallbackURL string
	HTTPClient  *http.Client
	// contains filtered or unexported fields
}

Provider is the implementation of `goth.Provider` for accessing Gitlab.

func New

func New(clientKey, secret, callbackURL string, scopes ...string) *Provider

New creates a new Gitlab provider and sets up important connection details. You should always call `gitlab.New` to get a new provider. Never try to create one manually.

func NewCustomisedURL

func NewCustomisedURL(clientKey, secret, callbackURL, authURL, tokenURL, profileURL string, scopes ...string) *Provider

NewCustomisedURL is similar to New(...) but can be used to set custom URLs to connect to

func (*Provider) BeginAuth

func (p *Provider) BeginAuth(state string) (goth.Session, error)

BeginAuth asks Gitlab for an authentication end-point.

func (*Provider) Client

func (p *Provider) Client() *http.Client

func (*Provider) Debug

func (p *Provider) Debug(debug bool)

Debug is a no-op for the gitlab package.

func (*Provider) FetchUser

func (p *Provider) FetchUser(session goth.Session) (goth.