Documentation ¶
Index ¶
- Constants
- func AuthorizationHeader(creds *common.Credentials) (key, value string)
- func CompleteAuth(tripperFactory common.TripperFactory, data objx.Map, config *common.Config, ...) (*common.Credentials, error)
- func Get(provider common.Provider, creds *common.Credentials, endpoint string) (objx.Map, error)
- func GetBeginAuthURLWithBase(base string, state *common.State, config *common.Config) (string, error)
- func GetClient(tripperFactory common.TripperFactory, creds *common.Credentials, ...) (*http.Client, error)
- func MergeScopes(scopes ...string) string
- func ParseScope(scope string) string
- type OAuth2Tripper
- type OAuth2TripperFactory
Constants ¶
const ( OAuth2KeyClientID string = "client_id" OAuth2KeySecret string = "client_secret" OAuth2KeyRedirectUrl string = "redirect_uri" OAuth2KeyScope string = "scope" OAuth2KeyAccessType string = "access_type" OAuth2KeyApprovalPrompt string = "approval_prompt" OAuth2KeyAuthURL string = "auth_url" OAuth2KeyTokenURL string = "token_url" OAuth2KeyCode string = "code" OAuth2KeyGrantType string = "grant_type" OAuth2KeyExpiresIn string = "expires_in" OAuth2KeyAccessToken string = "access_token" OAuth2KeyRefreshToken string = "refresh_token" OAuth2KeyResponseType string = "response_type" )
const ( // ApprovalPromptForce indicates that the user will always // have to reauthorize access if the AccessType is online. OAuth2ApprovalPromptForce string = "force" // ApprovalPromptAuto indicates that the user will not // have to reauthorize access. OAuth2ApprovalPromptAuto string = "auto" )
const ( // AccessTypeOnline indicates that the access type is online. OAuth2AccessTypeOnline string = "online" // AccessTypeOffline indicates that the access type is offline. OAuth2AccessTypeOffline string = "offline" )
const (
OAuth2GrantTypeAuthorizationCode = "authorization_code"
)
Variables ¶
This section is empty.
Functions ¶
func AuthorizationHeader ¶
func AuthorizationHeader(creds *common.Credentials) (key, value string)
AuthorizationHeader returns the key, value pair to insert into an authorized request.
func CompleteAuth ¶
func CompleteAuth(tripperFactory common.TripperFactory, data objx.Map, config *common.Config, provider common.Provider) (*common.Credentials, error)
CompleteAuth takes a map of arguments that are used to complete the authorisation process, completes it, and returns the appropriate common.Credentials.
The data must contain an OAuth2KeyCode obtained from the auth server.
func Get ¶
Get executes an authenticated HTTP GET against the given provider and returns an objx.Map of the response.
The response type is automatically detected and used to unmarshal the response.
func GetBeginAuthURLWithBase ¶
func GetBeginAuthURLWithBase(base string, state *common.State, config *common.Config) (string, error)
GetBeginAuthURLWithBase returns the OAuth2 authorization URL from the given arguments.
The state object will be encoded to base64 and signed to ensure integrity.
func GetClient ¶
func GetClient(tripperFactory common.TripperFactory, creds *common.Credentials, provider common.Provider) (*http.Client, error)
GetClient gets an http.Client authenticated with the specified common.Credentials.
func MergeScopes ¶
func ParseScope ¶
Types ¶
type OAuth2Tripper ¶
type OAuth2Tripper struct {
// contains filtered or unexported fields
}
func NewOAuth2Tripper ¶
func NewOAuth2Tripper(creds *common.Credentials, provider common.Provider) *OAuth2Tripper
NewOAuth2Tripper creates a new OAuth2Tripper with the given arguments.
func (*OAuth2Tripper) Credentials ¶
func (t *OAuth2Tripper) Credentials() *common.Credentials
Credentials returns the credentials associated with this OAuth2Tripper
func (*OAuth2Tripper) Provider ¶
func (t *OAuth2Tripper) Provider() common.Provider
Provider returns the provider associated with this OAuth2Tripper
func (*OAuth2Tripper) RoundTrip ¶
RoundTrip is called by the http package when making a request to a server. This implementation of RoundTrip inserts the appropriate authorization headers into the request in order to enable access of protected resources.
If the auth token has expired, RoundTrip will attempt to renew it.
type OAuth2TripperFactory ¶
type OAuth2TripperFactory struct{}
OAuth2TripperFactory provides the NewTripper function that creates a Tripper object for the OAuth2 authentication protocol.
func (*OAuth2TripperFactory) NewTripper ¶
func (f *OAuth2TripperFactory) NewTripper(creds *common.Credentials, provider common.Provider) (common.Tripper, error)
NewTripper creates a Tripper object for the OAuth2 authentication protocol.