Documentation
¶
Index ¶
- func GetAuthCallBackURL(r *http.Request) string
- func GetProfileFromIDToken(authResponse *AuthResponse, idToken string) error
- type AuthResponse
- type Github
- func (provider *Github) Data() *ProviderData
- func (provider *Github) GetProfileDataFromAccessToken(accessToken string) (*AuthResponse, error)
- func (provider *Github) RedeemCode(code string, redirectURL string, state string) (*RedeemResponse, error)
- func (provider *Github) RedirectToAuthPage(w http.ResponseWriter, r *http.Request, state string)
- func (provider *Github) RefreshAccessToken(refreshToken string) (*RedeemResponse, error)
- type GoogleProvider
- func (provider *GoogleProvider) Data() *ProviderData
- func (provider *GoogleProvider) GetProfileDataFromAccessToken(accessToken string) (*AuthResponse, error)
- func (provider *GoogleProvider) RedeemCode(code string, redirectURL string, state string) (*RedeemResponse, error)
- func (provider *GoogleProvider) RedirectToAuthPage(w http.ResponseWriter, r *http.Request, state string)
- func (provider *GoogleProvider) RefreshAccessToken(refreshToken string) (*RedeemResponse, error)
- type Provider
- type ProviderData
- type RedeemResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAuthCallBackURL ¶
GetAuthCallBackURL return back the auth callback url registered with the Provider
func GetProfileFromIDToken ¶
func GetProfileFromIDToken(authResponse *AuthResponse, idToken string) error
GetProfileFromIDToken gets user profile from IDToken provided by Google
Types ¶
type AuthResponse ¶
type AuthResponse struct {
Name string `json:"name"`
Email string `json:"email"`
EmailVerified bool `json:"email_verified"`
}
AuthResponse holds the data of a User after successful Authorization
type Github ¶
type Github struct {
// contains filtered or unexported fields
}
Github for Github Authentication
func (*Github) Data ¶
func (provider *Github) Data() *ProviderData
Data provides provider specific data
func (*Github) GetProfileDataFromAccessToken ¶
func (provider *Github) GetProfileDataFromAccessToken(accessToken string) (*AuthResponse, error)
GetProfileDataFromAccessToken gets user profile from access token
func (*Github) RedeemCode ¶
func (provider *Github) RedeemCode(code string, redirectURL string, state string) (*RedeemResponse, error)
RedeemCode gets access token and refresh token using the code provided
func (*Github) RedirectToAuthPage ¶
RedirectToAuthPage redirects to Github Auth page
func (*Github) RefreshAccessToken ¶
func (provider *Github) RefreshAccessToken(refreshToken string) (*RedeemResponse, error)
RefreshAccessToken fetch new access token using the offline refresh token
type GoogleProvider ¶
type GoogleProvider struct {
// contains filtered or unexported fields
}
GoogleProvider for Google Authorization
func (*GoogleProvider) Data ¶
func (provider *GoogleProvider) Data() *ProviderData
Data provides provider specific data
func (*GoogleProvider) GetProfileDataFromAccessToken ¶
func (provider *GoogleProvider) GetProfileDataFromAccessToken(accessToken string) (*AuthResponse, error)
GetProfileDataFromAccessToken gets user profile from access token
func (*GoogleProvider) RedeemCode ¶
func (provider *GoogleProvider) RedeemCode(code string, redirectURL string, state string) (*RedeemResponse, error)
RedeemCode gets access token and refresh token using the code provided
func (*GoogleProvider) RedirectToAuthPage ¶
func (provider *GoogleProvider) RedirectToAuthPage(w http.ResponseWriter, r *http.Request, state string)
RedirectToAuthPage redirects to Google Auth page
func (*GoogleProvider) RefreshAccessToken ¶
func (provider *GoogleProvider) RefreshAccessToken(refreshToken string) (*RedeemResponse, error)
RefreshAccessToken fetch new access token using the offline refresh token
type Provider ¶
type Provider interface {
Data() *ProviderData
RedirectToAuthPage(http.ResponseWriter, *http.Request, string)
RedeemCode(string, string, string) (*RedeemResponse, error)
GetProfileDataFromAccessToken(string) (*AuthResponse, error)
RefreshAccessToken(string) (*RedeemResponse, error)
}
Provider interface for every provider available
func GetProvider ¶
GetProvider returns appropriate Provider object
func NewGitHubProvider ¶
func NewGitHubProvider() Provider
NewGitHubProvider gives new Github provider
func NewGoogleProvider ¶
func NewGoogleProvider() Provider
NewGoogleProvider gives new Google provider