Documentation
¶
Index ¶
- Constants
- Variables
- func BasicAuthHeader(userid, password string) (string, error)
- func BasicAuthToken(username, password string) (*oauth2.Token, error)
- func ClientTLSInsecureSkipVerify(client *http.Client) *http.Client
- func NewClientAuthCode(conf oauth2.Config, authCode string) (*http.Client, error)
- func NewClientAuthzTokenSimple(tokenType, accessToken string) *http.Client
- func NewClientBasicAuth(username, password string, tlsInsecureSkipVerify bool) (*http.Client, error)
- func NewClientBearerTokenSimpleOrJson(ctx context.Context, tokenOrJson []byte) (*http.Client, error)
- func NewClientHeaders(headersMap map[string]string, tlsInsecureSkipVerify bool) *http.Client
- func NewClientPassword(conf oauth2.Config, ctx context.Context, username, password string) (*http.Client, error)
- func NewClientPasswordConf(conf oauth2.Config, username, password string) (*http.Client, error)
- func NewClientTLSToken(ctx context.Context, tlsConfig *tls.Config, token *oauth2.Token) *http.Client
- func NewClientToken(tokenType, tokenValue string, tlsInsecureSkipVerify bool) *http.Client
- func NewClientTokenBase64Encode(tokenType, tokenValue string, tlsInsecureSkipVerify bool) *http.Client
- func NewClientTokenJSON(ctx context.Context, tokenJSON []byte) (*http.Client, error)
- func NewClientTokenOAuth2(token *oauth2.Token) *http.Client
- func NewClientWebTokenStore(ctx context.Context, conf *oauth2.Config, tStore *TokenStoreFile, ...) (*http.Client, error)
- func NewTokenCliFromWeb(cfg *oauth2.Config, state string) (*oauth2.Token, error)
- func ParseJwtTokenString(tokenString string, secretKey string, claims jwt.Claims) (*jwt.Token, error)
- func ParseToken(rawToken []byte) (*oauth2.Token, error)
- func PathVersion() string
- func RFC7617UserPass(userid, password string) (string, error)
- func ReadTokenFile(fpath string) (*oauth2.Token, error)
- func UserCredentialsDir() (string, error)
- func UserCredentialsDirMk(perm os.FileMode) (string, error)
- func WriteTokenFile(fpath string, tok *oauth2.Token) error
- type AppCredentials
- type AppCredentialsWrapper
- type ApplicationCredentials
- func (ac *ApplicationCredentials) AppNameAndVersion() string
- func (app *ApplicationCredentials) AuthCodeURL(state string, opts ...oauth2.AuthCodeOption) string
- func (app *ApplicationCredentials) Config() oauth2.Config
- func (app *ApplicationCredentials) Exchange(code string) (*oauth2.Token, error)
- func (app *ApplicationCredentials) InflateURL(apiUrlPath string) string
- func (app *ApplicationCredentials) IsGrantType(grantType string) bool
- type AuthorizationType
- type OAuth2Util
- type PasswordCredentials
- type ServiceType
- type TokenStoreFile
- type UserCredentials
Constants ¶
const ( VERSION = "0.2.0" PATH = "github.com/grokify/oauth2more" TokenBasic = "Basic" TokenBearer = "Bearer" GrantTypeAuthorizationCode = "code" )
Variables ¶
var (
RelCredentialsDir = ".credentials"
)
Functions ¶
func BasicAuthHeader ¶
func BasicAuthToken ¶
BasicAuthToken provides Basic Authentication support via an oauth2.Token.
func NewClientAuthCode ¶
func NewClientAuthzTokenSimple ¶
NewClientAuthzTokenSimple returns a *http.Client given a token type and token string.
func NewClientBasicAuth ¶
func NewClientBasicAuth(username, password string, tlsInsecureSkipVerify bool) (*http.Client, error)
NewClientBasicAuth returns a *http.Client given a basic auth username and password.
func NewClientHeaders ¶
func NewClientPassword ¶
func NewClientPasswordConf ¶
func NewClientTLSToken ¶
func NewClientToken ¶
func NewClientTokenJSON ¶
func NewClientWebTokenStore ¶
func NewTokenCliFromWeb ¶ added in v0.4.1
NewTokenCliFromWeb enables a CLI app with no UI to generate a OAuth2 AuthURL which is copy and pasted into a web browser to return an an OAuth 2 authorization code and state, where the authorization code is entered on the command line.
func ParseJwtTokenString ¶
func ParseToken ¶
ParseToken parses a OAuth 2 token and returns an `*oauth2.Token` with custom properties.
func PathVersion ¶
func PathVersion() string
func RFC7617UserPass ¶
RFC7617UserPass base64 encodes a user-id and password per: https://tools.ietf.org/html/rfc7617#section-2
func ReadTokenFile ¶
ReadTokenFile retrieves a Token from a given filepath.
func UserCredentialsDir ¶
Types ¶
type AppCredentials ¶
type AppCredentials struct {
Service string `json:"service,omitempty"`
ClientID string `json:"client_id"`
ClientSecret string `json:"client_secret"`
RedirectURIs []string `json:"redirect_uris"`
AuthURI string `json:"auth_uri"`
TokenURI string `json:"token_uri"`
Scopes []string `json:"scopes"`
}
// ApplicationCredentials represents information for an app.
type ApplicationCredentials struct {
ServerURL string
ClientID string
ClientSecret string
Endpoint oauth2.Endpoint
}
func (*AppCredentials) Config ¶
func (c *AppCredentials) Config() *oauth2.Config
func (*AppCredentials) Defaultify ¶
func (ac *AppCredentials) Defaultify()
type AppCredentialsWrapper ¶
type AppCredentialsWrapper struct {
Web *AppCredentials `json:"web"`
Installed *AppCredentials `json:"installed"`
}
func NewAppCredentialsWrapperFromBytes ¶
func NewAppCredentialsWrapperFromBytes(data []byte) (AppCredentialsWrapper, error)
type ApplicationCredentials ¶
type ApplicationCredentials struct {
ServerURL string `json:"serverURL,omitempty"`
ApplicationID string `json:"applicationID,omitempty"`
ClientID string `json:"clientID,omitempty"`
ClientSecret string `json:"clientSecret,omitempty"`
OAuth2Endpoint oauth2.Endpoint `json:"oauth2Endpoint,omitempty"`
RedirectURL string `json:"redirectURL,omitempty"`
AppName string `json:"applicationName,omitempty"`
AppVersion string `json:"applicationVersion,omitempty"`
OAuthEndpointID string `json:"oauthEndpointID,omitempty"`
AccessTokenTTL int64 `json:"accessTokenTTL,omitempty"`
RefreshTokenTTL int64 `json:"refreshTokenTTL,omitempty"`
GrantType string `json:"grantType,omitempty"`
}
func (*ApplicationCredentials) AppNameAndVersion ¶ added in v0.4.4
func (ac *ApplicationCredentials) AppNameAndVersion() string
func (*ApplicationCredentials) AuthCodeURL ¶ added in v0.4.4
func (app *ApplicationCredentials) AuthCodeURL(state string, opts ...oauth2.AuthCodeOption) string
func (*ApplicationCredentials) Config ¶ added in v0.4.4
func (app *ApplicationCredentials) Config() oauth2.Config
func (*ApplicationCredentials) Exchange ¶ added in v0.4.4
func (app *ApplicationCredentials) Exchange(code string) (*oauth2.Token, error)
func (*ApplicationCredentials) InflateURL ¶ added in v0.4.4
func (app *ApplicationCredentials) InflateURL(apiUrlPath string) string
func (*ApplicationCredentials) IsGrantType ¶ added in v0.4.4
func (app *ApplicationCredentials) IsGrantType(grantType string) bool
type AuthorizationType ¶
type AuthorizationType int
const ( Anonymous AuthorizationType = iota Basic Bearer Digest NTLM Negotiate OAuth )
func (AuthorizationType) String ¶
func (a AuthorizationType) String() string
String returns the English name of the authorizationTypes ("Basic", "Bearer", ...).
type OAuth2Util ¶
type PasswordCredentials ¶ added in v0.4.4
type PasswordCredentials struct {
GrantType string `url:"grant_type"`
AccessTokenTTL int64 `url:"access_token_ttl"`
RefreshTokenTTL int64 `url:"refresh_token_ttl"`
Username string `json:"username" url:"username"`
Extension string `json:"extension" url:"extension"`
Password string `json:"password" url:"password"`
EndpointId string `url:"endpoint_id"`
EngageVoiceAccountId int64 `json:"engageVoiceAccountId"`
}
func (*PasswordCredentials) URLValues ¶ added in v0.4.4
func (pw *PasswordCredentials) URLValues() url.Values
func (*PasswordCredentials) UsernameSimple ¶ added in v0.4.4
func (uc *PasswordCredentials) UsernameSimple() string
type ServiceType ¶
type ServiceType int
const ( Google ServiceType = iota Facebook RingCentral Aha )
type TokenStoreFile ¶
func NewTokenStoreFile ¶
func NewTokenStoreFile(file string) *TokenStoreFile
func (*TokenStoreFile) NewTokenCliFromWeb ¶ added in v0.4.1
func (*TokenStoreFile) Read ¶
func (ts *TokenStoreFile) Read() error
func (*TokenStoreFile) Write ¶
func (ts *TokenStoreFile) Write() error
type UserCredentials ¶
UserCredentials represents a user's credentials.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
examples/scim_user
command
|
|
|
auth0 contains a Go implementation of Auth0's PKCE support: https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce
|
auth0 contains a Go implementation of Auth0's PKCE support: https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce |
|
examples/auth-code-pkce
command
|
|
|
examples
|
|
|
interface_function
command
|
|
|
jwt
command
|
|
|
examples/get_token
command
|
|
|
examples/query_card
command
|
|
|
examples/get_account
command
|
|
|
examples/get_token
command
|
|
|
examples/glipbot_auth
command
|
|
|
examples/salesforce_versions
command
|
|
|
examples/send_ics
command
This package posts an ICS file to Gmail.
|
This package posts an ICS file to Gmail. |
|
examples/send_one
command
|
|
|
util
|
|
|
examples/get_me
command
|
|
|
examples/jwt_zoom
command
|