Documentation ¶
Overview ¶
Package xero implements the OAuth protocol for authenticating users through Xero.
Index ¶
- type APIResponse
- type Organisation
- 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) RefreshOAuth1Token(session *Session) error
- 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
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIResponse ¶
type APIResponse struct {
Organisations []Organisation `json:"Organisations,omitempty"`
}
APIResponse is the Total response from the Xero API
type Organisation ¶
type Organisation struct { // Display name of organisation shown in Xero Name string `json:"Name,omitempty"` // Organisation name shown on Reports LegalName string `json:"LegalName,omitempty"` // Organisation Type OrganisationType string `json:"OrganisationType,omitempty"` // Country code for organisation. See ISO 3166-2 Country Codes CountryCode string `json:"CountryCode,omitempty"` // A unique identifier for the organisation. Potential uses. ShortCode string `json:"ShortCode,omitempty"` }
Organisation is the expected response from the Organisation endpoint - this is not a complete schema
type Provider ¶
type Provider struct { ClientKey string Secret string CallbackURL string HTTPClient *http.Client Method string // contains filtered or unexported fields }
Provider is the implementation of `goth.Provider` for accessing Xero.
func New ¶
New creates a new Xero provider, and sets up important connection details. You should always call `xero.New` to get a new Provider. Never try to create one manually.
func (*Provider) BeginAuth ¶
BeginAuth asks Xero for an authentication end-point and a request token for a session. Xero does not support the "state" variable.
func (*Provider) RefreshOAuth1Token ¶
RefreshOAuth1Token should be used instead of RefeshToken which is not compliant with the Oauth1.0a standard
func (*Provider) RefreshToken ¶
RefreshToken refresh token is not provided by the Xero Public or Private Application - only the Partner Application and you must use RefreshOAuth1Token instead
func (*Provider) RefreshTokenAvailable ¶
RefreshTokenAvailable refresh token is not provided by the Xero Public or Private Application - only the Partner Application and you must use RefreshOAuth1Token instead
type Session ¶
type Session struct { AuthURL string AccessToken *oauth.AccessToken RequestToken *oauth.RequestToken AccessTokenExpires time.Time }
Session stores data during the auth process with Xero.
func (*Session) Authorize ¶
Authorize the session with Xero and return 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 Xero provider.