Documentation ¶
Index ¶
- Constants
- func LookupOidTxt(qname string, nameservers []string) (string, error)
- func ParseRecord(record string) (map[string]string, error)
- func SanatizeEmail(strId string) (string, error)
- type Authority
- func (a *Authority) GetOAuth2Config(config *RedirectURLConfig) oauth2.Config
- func (a *Authority) GetRedirectUrl(config *RedirectURLConfig) (string, error)
- func (a *Authority) GetUserInfo(ctx context.Context, config *RedirectURLConfig, code string) (*ResultClaims, error)
- func (a *Authority) RegisterClient(ctx context.Context, opts ClientOpts) error
- type Claim
- type ClaimSource
- type ClaimType
- type Claims
- type ClientConfig
- type ClientOpts
- type DistributedClaims
- type Identifier
- type RedirectURLConfig
- type ResultClaims
Constants ¶
View Source
const ( UserInfoClaim = "userinfo" IdToken = "id_token" )
Variables ¶
This section is empty.
Functions ¶
func SanatizeEmail ¶
Types ¶
type Authority ¶
type Authority struct { Issuer url.URL OidcProvider oidc.Provider Client ClientConfig }
func (*Authority) GetOAuth2Config ¶
func (a *Authority) GetOAuth2Config(config *RedirectURLConfig) oauth2.Config
func (*Authority) GetRedirectUrl ¶
func (a *Authority) GetRedirectUrl(config *RedirectURLConfig) (string, error)
func (*Authority) GetUserInfo ¶
func (a *Authority) GetUserInfo(ctx context.Context, config *RedirectURLConfig, code string) (*ResultClaims, error)
func (*Authority) RegisterClient ¶
func (a *Authority) RegisterClient(ctx context.Context, opts ClientOpts) error
type Claim ¶
type Claim struct { Essential bool `json:"essential,omitempty"` Reason string `json:"reason,omitempty"` }
TODO: Rename to ClaimRequest
type ClaimSource ¶
type Claims ¶
type Claims struct { UserInfo map[string]*Claim `json:"userinfo,omitempty"` IdToken map[string]*Claim `json:"id_token,omitempty"` }
TODO: Rename to ClaimsRequest
type ClientConfig ¶
type ClientOpts ¶
type ClientOpts struct { ClientName string `json:"client_name"` RedirectUris []string `json:"redirect_uris"` ApplicationType string `json:"application_type,omitempty"` Contacts []string `json:"contacts,omitempty"` LogoUri string `json:"logo_uri,omitempty"` ClientUri string `json:"client_uri,omitempty"` PolicyUri string `json:"policy_uri,omitempty"` TosUri string `json:"tos_uri,omitempty"` // TODO: check what are those DefaultMaxAge uint `json:"default_max_age,omitempty"` RequireAuthTime bool `json:"require_auth_time,omitempty"` InitiateLoginUri string `json:"initiate_login_uri,omitempty"` }
type DistributedClaims ¶
type DistributedClaims struct { Names map[string]string `json:"_claim_names"` Sources map[string]*ClaimSource `json:"_claim_sources"` }
type Identifier ¶
func NewIdentifier ¶
func NewIdentifier(strId string) (*Identifier, error)
func (*Identifier) ResolveAuthorityWithNS ¶
func (id *Identifier) ResolveAuthorityWithNS(nameservers []string) (string, error)
type RedirectURLConfig ¶
type RedirectURLConfig struct { Identifier *Identifier Claims Claims Scopes []string Callback string State string }
func NewRedirectURLConfig ¶
func NewRedirectURLConfig(callBack string, state string) *RedirectURLConfig
type ResultClaims ¶
type ResultClaims struct { AuthorityUserInfo map[string]interface{} DistributedClaims DistributedClaims }
func (*ResultClaims) Get ¶
func (c *ResultClaims) Get(name string) interface{}
Click to show internal directories.
Click to hide internal directories.