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.
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.
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
Provider is the implementation of `goth.Provider` for accessing Gitlab.
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.
NewCustomisedURL is similar to New(...) but can be used to set custom URLs to connect to
BeginAuth asks Gitlab for an authentication end-point.
Debug is a no-op for the gitlab package.
FetchUser will go to Gitlab and access basic information about the user.
Name is the name used to retrieve this provider later.
RefreshToken get new access token based on the refresh token
RefreshTokenAvailable refresh token is provided by auth provider or not
SetName is to update the name of the provider (needed in case of multiple providers of 1 type)
UnmarshalSession wil unmarshal a JSON string into a session.
Session stores data during the auth process with Gitlab.
Authorize the session with Gitlab and return the access token to be stored for future use.
GetAuthURL will return the URL set by calling the `BeginAuth` function on the Gitlab provider.
Marshal the session into a string