Documentation ¶
Index ¶
- type AppleProfile
- type Client
- func (c *Client) CheckAppleToken(ctx context.Context, bundleId string, idToken string) (*AppleProfile, error)
- func (c *Client) CheckFacebookLimitedLoginToken(ctx context.Context, appId string, idToken string) (*FacebookProfile, error)
- func (c *Client) CheckGameCenterID(ctx context.Context, playerID string, bundleID string, timestamp int64, ...) (bool, error)
- func (c *Client) CheckGoogleToken(ctx context.Context, idToken string) (GoogleProfile, error)
- func (c *Client) ExtractFacebookInstantGameID(signedPlayerInfo string, appSecret string) (facebookInstantGameID string, err error)
- func (c *Client) GetFacebookFriends(ctx context.Context, accessToken string) ([]FacebookProfile, error)
- func (c *Client) GetFacebookProfile(ctx context.Context, accessToken string) (*FacebookProfile, error)
- func (c *Client) GetSteamFriends(ctx context.Context, publisherKey, steamId string) ([]SteamProfile, error)
- func (c *Client) GetSteamProfile(ctx context.Context, publisherKey string, appID int, ticket string) (*SteamProfile, error)
- type FacebookPicture
- type FacebookPictureData
- type FacebookProfile
- type GooglePlayServiceProfile
- type GoogleProfile
- type JWTGoogleProfile
- type JwksCert
- type JwksCerts
- type SteamError
- type SteamProfile
- type SteamProfileWrapper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppleProfile ¶
AppleProfile is an abbreviated version of a user authenticated through Apple Sign In.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is responsible for making calls to different providers
func (*Client) CheckAppleToken ¶
func (*Client) CheckFacebookLimitedLoginToken ¶
func (*Client) CheckGameCenterID ¶
func (c *Client) CheckGameCenterID(ctx context.Context, playerID string, bundleID string, timestamp int64, salt string, signature string, publicKeyURL string) (bool, error)
CheckGameCenterID checks to see validity of the GameCenter playerID
func (*Client) CheckGoogleToken ¶
CheckGoogleToken extracts the user's Google Profile from a given ID token.
func (*Client) ExtractFacebookInstantGameID ¶
func (c *Client) ExtractFacebookInstantGameID(signedPlayerInfo string, appSecret string) (facebookInstantGameID string, err error)
Extract player ID and validate the Facebook Instant Game token.
func (*Client) GetFacebookFriends ¶
func (c *Client) GetFacebookFriends(ctx context.Context, accessToken string) ([]FacebookProfile, error)
GetFacebookFriends queries the Facebook Graph. Token is expected to also have the "user_friends" permission.
func (*Client) GetFacebookProfile ¶
func (c *Client) GetFacebookProfile(ctx context.Context, accessToken string) (*FacebookProfile, error)
GetFacebookProfile retrieves the user's Facebook Profile given the accessToken
func (*Client) GetSteamFriends ¶
func (c *Client) GetSteamFriends(ctx context.Context, publisherKey, steamId string) ([]SteamProfile, error)
GetSteamFriends queries the Steam API for friends.
func (*Client) GetSteamProfile ¶
func (c *Client) GetSteamProfile(ctx context.Context, publisherKey string, appID int, ticket string) (*SteamProfile, error)
GetSteamProfile retrieves the user's Steam Profile. Key and App ID should be configured at the application level. See: https://partner.steamgames.com/documentation/auth#client_to_backend_webapi
type FacebookPicture ¶
type FacebookPictureData ¶
type FacebookPictureData struct {
Data FacebookPicture `json:"data"`
}
type FacebookProfile ¶
type FacebookProfile struct { ID string `json:"id"` Name string `json:"name"` Email string `json:"email"` Picture FacebookPictureData `json:"picture"` }
FacebookProfile is an abbreviated version of a Facebook profile.
type GooglePlayServiceProfile ¶
type GooglePlayServiceProfile struct { PlayerId string `json:"playerId"` DisplayName string `json:"displayName"` AvatarImageUrl string `json:"avatarImageUrl"` OriginalPlayerId string `json:"originalPlayerId"` }
GooglePlayServiceProfile is an abbreviated version of a Google profile using an access token.
func (*GooglePlayServiceProfile) GetAvatarImageUrl ¶
func (p *GooglePlayServiceProfile) GetAvatarImageUrl() string
func (*GooglePlayServiceProfile) GetDisplayName ¶
func (p *GooglePlayServiceProfile) GetDisplayName() string
func (*GooglePlayServiceProfile) GetEmail ¶
func (p *GooglePlayServiceProfile) GetEmail() string
func (*GooglePlayServiceProfile) GetGoogleId ¶
func (p *GooglePlayServiceProfile) GetGoogleId() string
func (*GooglePlayServiceProfile) GetOriginalGoogleId ¶
func (p *GooglePlayServiceProfile) GetOriginalGoogleId() string
type GoogleProfile ¶
type GoogleProfile interface { GetDisplayName() string GetEmail() string GetAvatarImageUrl() string GetGoogleId() string GetOriginalGoogleId() string }
GoogleProfile is an abbreviated version of a Google profile extracted from a token.
type JWTGoogleProfile ¶
type JWTGoogleProfile struct { // Fields available in all tokens. Iss string `json:"iss"` Sub string `json:"sub"` Azp string `json:"azp"` Aud string `json:"aud"` Iat int64 `json:"iat"` Exp int64 `json:"exp"` // Fields available only if the user granted the "profile" and "email" OAuth scopes. Email string `json:"email"` EmailVerified bool `json:"email_verified"` Name string `json:"name"` Picture string `json:"picture"` GivenName string `json:"given_name"` FamilyName string `json:"family_name"` Locale string `json:"locale"` }
JWTGoogleProfile is an abbreviated version of a Google profile extracted from a verified JWT token.
func (*JWTGoogleProfile) GetAvatarImageUrl ¶
func (p *JWTGoogleProfile) GetAvatarImageUrl() string
func (*JWTGoogleProfile) GetDisplayName ¶
func (p *JWTGoogleProfile) GetDisplayName() string
func (*JWTGoogleProfile) GetEmail ¶
func (p *JWTGoogleProfile) GetEmail() string
func (*JWTGoogleProfile) GetGoogleId ¶
func (p *JWTGoogleProfile) GetGoogleId() string
func (*JWTGoogleProfile) GetOriginalGoogleId ¶
func (p *JWTGoogleProfile) GetOriginalGoogleId() string
type JwksCert ¶
type JwksCert struct { Kty string `json:"kty"` Kid string `json:"kid"` Use string `json:"use"` Alg string `json:"alg"` N string `json:"n"` E string `json:"e"` // contains filtered or unexported fields }
JWK certificate data for an Apple Sign In verification key.
type SteamError ¶
SteamError contains a possible error response from the Steam Web API.
type SteamProfile ¶
type SteamProfile struct {
SteamID uint64 `json:"steamid,string"`
}
SteamProfile is an abbreviated version of a Steam profile.
type SteamProfileWrapper ¶
type SteamProfileWrapper struct { Response struct { Params *SteamProfile `json:"params"` Error *SteamError `json:"error"` } `json:"response"` }
Unwrapping the SteamProfile