Documentation

Overview

    Package yammer implements the OAuth2 protocol for authenticating users through yammer. This package can be used as a reference implementation of an OAuth2 provider for Goth.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func CondVal

    func CondVal(v string) []string

      CondVal convert string in string array

      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 Yammer.

        func New

        func New(clientKey, secret, callbackURL string, scopes ...string) *Provider

          New creates a new Yammer provider and sets up important connection details. You should always call `yammer.New` to get a new provider. Never try to create one manually.

          func (*Provider) BeginAuth

          func (p *Provider) BeginAuth(state string) (goth.Session, error)

            BeginAuth asks Yammer for an authentication end-point.

            func (*Provider) Client

            func (p *Provider) Client() *http.Client

            func (*Provider) Debug

            func (p *Provider) Debug(debug bool)

              Debug is a no-op for the yammer package.

              func (*Provider) FetchUser

              func (p *Provider) FetchUser(session goth.Session) (goth.User, error)

                FetchUser will go to Yammer and access basic information about the user.

                func (*Provider) Name

                func (p *Provider) Name() string

                  Name is the name used to retrieve this provider later.

                  func (*Provider) RefreshToken

                  func (p *Provider) RefreshToken(refreshToken string) (*oauth2.Token, error)

                    RefreshToken refresh token is not provided by yammer

                    func (*Provider) RefreshTokenAvailable

                    func (p *Provider) RefreshTokenAvailable() bool

                      RefreshTokenAvailable refresh token is not provided by yammer

                      func (*Provider) SetName

                      func (p *Provider) SetName(name string)

                        SetName is to update the name of the provider (needed in case of multiple providers of 1 type)

                        func (*Provider) UnmarshalSession

                        func (p *Provider) UnmarshalSession(data string) (goth.Session, error)

                          UnmarshalSession wil unmarshal a JSON string into a session.

                          type Session

                          type Session struct {
                          	AuthURL     string
                          	AccessToken string
                          }

                            Session stores data during the auth process with Yammer.

                            func (*Session) Authorize

                            func (s *Session) Authorize(provider goth.Provider, params goth.Params) (string, error)

                              Authorize the session with Yammer and return the access token to be stored for future use.

                              func (Session) GetAuthURL

                              func (s Session) GetAuthURL() (string, error)

                                GetAuthURL will return the URL set by calling the `BeginAuth` function on the Yammer provider.

                                func (Session) Marshal

                                func (s Session) Marshal() string

                                  Marshal the session into a string

                                  func (Session) String

                                  func (s Session) String() string