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.