Documentation ¶
Overview ¶
Package square implements the OAuth protocol for authenticating users through square. This package can be used as a reference implementation of an OAuth provider for Goth.
Index ¶
- Constants
- func SetIsProd(isProd bool)
- type Provider
- func (p *Provider) BeginAuth(state string) (goth.Session, error)
- func (p *Provider) Client() *http.Client
- func (p *Provider) Debug(debug bool)
- func (p *Provider) FetchUser(session goth.Session) (goth.User, error)
- func (p *Provider) Name() string
- func (p *Provider) RefreshToken(refreshToken string) (*oauth2.Token, error)
- func (p *Provider) RefreshTokenAvailable() bool
- func (p *Provider) SetName(name string)
- func (p *Provider) UnmarshalSession(data string) (goth.Session, error)
- type Session
- type SquareGlobalConfig
Constants ¶
const ( // Catalog scopes ScopeItemsRead = "ITEMS_READ" ScopeItemsWrite = "ITEMS_WRITE" // Order, Payments & Checkout scopes ScopeOrdersWrite = "ORDERS_WRITE" ScopeOrdersRead = "ORDERS_READ" ScopePaymentsRead = "PAYMENTS_READ" ScopePaymentsWrite = "PAYMENTS_WRITE" // Customer scopes ScopeCustomerRead = "CUSTOMERS_READ" ScopeCustomersWrite = "CUSTOMERS_WRITE" // Employee scopes ScopeEmployeeRead = "EMPLOYEES_READ" // Gift Card scopes ScopeGiftCardsRead = "GIFTCARDS_READ" ScopeGiftCardsWrite = "GIFTCARDS_WRITE" // Inventory scopes ScopeInventoryRead = "INVENTORY_READ" ScopeInventoryWrite = "INVENTORY_WRITE" // Invoice scopes ScopeInvoiceRead = "INVOICES_READ" ScopeInvoiceWrite = "INVOICES_WRITE" // Labor (Timecard) scopes ScopeTimecardsRead = "TIMECARDS_READ" ScopeTimecardsWrite = "TIMECARDS_WRITE" // Merchant & Locations scopes ScopeMerchantRead = "MERCHANT_PROFILE_READ" ScopeMerchantWrite = "MERCHANT_PROFILE_WRITE" // Loyalty scopes ScopeLoyaltyRead = "LOYALTY_READ" ScopeLoyaltyWrite = "LOYALTY_WRITE" // Payout scopes ScopePayoutsRead = "PAYOUTS_READ" // Online sites scopes ScopeOnlineStoreSitesRead = "ONLINE_STORE_SITE_READ" // Subscriptions ScopeSubscriptionsRead = "SUBSCRIPTIONS_READ" ScopeSubscriptionsWrite = "SUBSCRIPTIONS_WRITE" // Vendors ScopeVendorRead = "VENDOR_READ" ScopeVendorWrite = "VENDOR_WRITE" )
Relevant scopes. This is not a comprehensive list, but is fairly complete for Munch Insight's usecases. See https://developer.squareup.com/docs/oauth-api/square-permissions for a complete list.
Variables ¶
This section is empty.
Functions ¶
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 square.
func New ¶
New creates a new square provider, and sets up important connection details. You should always call `square.New` to get a new Provider. Never try to create one manually.
func (*Provider) FetchUser ¶
FetchUser will go to square and access basic information about the user.
func (*Provider) RefreshToken ¶
RefreshToken get new access token based on the refresh token
func (*Provider) RefreshTokenAvailable ¶
RefreshTokenAvailable refresh token is not provided by square
type Session ¶
type Session struct { AuthURL string AccessToken string RefreshToken string ExpiresAt time.Time UserID string }
Session stores data during the auth process with square.
func (*Session) Authorize ¶
Authorize completes the authorization with square and returns the access token to be stored for future use.
func (Session) GetAuthURL ¶
GetAuthURL will return the URL set by calling the `BeginAuth` function on the square provider.
type SquareGlobalConfig ¶ added in v0.1.4
type SquareGlobalConfig struct {
IsProd bool
}