Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ADFSUser ¶ added in v0.5.0
ADFSUser Active Directory user record
func (*ADFSUser) PrepareUserData ¶ added in v0.5.0
func (u *ADFSUser) PrepareUserData()
PrepareUserData implement PersonalData interface
type AliData ¶ added in v0.23.0
type AliData struct {
Sub string `json:"sub"`
Username string `json:"username"`
Nickname string `json:"nickname"`
Email string `json:"email"`
ID string `json:"ou_id"`
Phone string `json:"phone_number"`
OuName string `json:"ou_name"`
}
AliData `data` subobject of Alibaba User response https://github.com/vouch/vouch-proxy/issues/344
type AlibabaUser ¶ added in v0.23.0
AlibabaUser Aliyun
func (*AlibabaUser) PrepareUserData ¶ added in v0.23.0
func (u *AlibabaUser) PrepareUserData()
PrepareUserData implement PersonalData interface
type AzureUser ¶ added in v0.17.0
type AzureUser struct {
User
Sub string `json:"sub"`
UPN string `json:"upn"`
PreferredUsername string `json:"preferred_username"`
}
AzureUser is a retrieved and authenticated user from Azure AD
func (*AzureUser) PrepareUserData ¶ added in v0.17.0
func (u *AzureUser) PrepareUserData()
PrepareUserData implement PersonalData interface
type Contact ¶ added in v0.6.8
type Contact struct {
Type string `json:"type"`
Value string `json:"value"`
Verified bool `json:"is_verified"`
}
Contact used for OpenStaxUser
type CustomClaims ¶ added in v0.5.14
type CustomClaims struct {
Claims map[string]interface{}
}
CustomClaims Temporary struct storing custom claims until JWT creation.
type DiscordUser ¶ added in v0.45.0
type DiscordUser struct {
Id string `json:"id"`
Username string `json:"username"`
Discriminator string `json:"discriminator"`
GlobalName string `json:"global_name"`
Email string `json:"email"`
Verified bool `json:"verified"`
PreparedUsername string
}
DiscordUser deserializes values from the Discord User Object: https://discord.com/developers/docs/resources/user#user-object-user-structure
type GitHubTeamMembershipState ¶ added in v0.7.0
type GitHubTeamMembershipState struct {
State string `json:"state"`
}
GitHubTeamMembershipState for GitHub team api call
type GitHubUser ¶ added in v0.2.8
GitHubUser is a retrieved and authentiacted user from GitHub.
func (*GitHubUser) PrepareUserData ¶ added in v0.2.8
func (u *GitHubUser) PrepareUserData()
PrepareUserData implement PersonalData interface
type GoogleUser ¶ added in v0.2.1
type GoogleUser struct {
User
Sub string `json:"sub"`
GivenName string `json:"given_name"`
FamilyName string `json:"family_name"`
Profile string `json:"profile"`
Picture string `json:"picture"`
EmailVerified bool `json:"email_verified"`
Gender string `json:"gender"`
HostDomain string `json:"hd"`
}
GoogleUser is a retrieved and authentiacted user from Google. unused! TODO: see if these should be pointers to the *User object as per https://golang.org/doc/effective_go.html#embedding
func (*GoogleUser) PrepareUserData ¶ added in v0.2.6
func (u *GoogleUser) PrepareUserData()
PrepareUserData implement PersonalData interface
type IndieAuthUser ¶ added in v0.2.7
IndieAuthUser see indieauth.net
func (*IndieAuthUser) PrepareUserData ¶ added in v0.2.7
func (u *IndieAuthUser) PrepareUserData()
PrepareUserData implement PersonalData interface
type NextcloudUser ¶ added in v0.7.1
NextcloudUser User of Nextcloud retreived from ocs endpoint
func (*NextcloudUser) PrepareUserData ¶ added in v0.7.1
func (u *NextcloudUser) PrepareUserData()
PrepareUserData NextcloudUser
type Ocs ¶ added in v0.7.1
type Ocs struct {
Data struct {
UserID string `json:"id"`
Email string `json:"email"`
} `json:"data"`
}
Ocs used for NextcloudUser
type OpenStaxUser ¶ added in v0.6.8
OpenStaxUser is a retrieved and authenticated user from OpenStax Accounts
func (*OpenStaxUser) PrepareUserData ¶ added in v0.6.8
func (u *OpenStaxUser) PrepareUserData()
PrepareUserData implement PersonalData interface
type Site ¶
type Site struct {
Domain string `json:"domain"`
CreatedOn int64 `json:"createdon"`
LastUpdate int64 `json:"lastupdate"`
ID int `json:"id" mapstructure:"id"`
}
Site is the basic unit of auth
type Team ¶
type Team struct {
Name string `json:"name" mapstructure:"name"`
Members []string `json:"members" mapstructure:"members"` // just the emails
Sites []string `json:"sites" mapstructure:"sites"` // just the domains
CreatedOn int64 `json:"createdon" mapstructure:"createdon"`
LastUpdate int64 `json:"lastupdate" mapstructure:"lastupdate"`
ID int `json:"id" mapstructure:"id"`
}
Team has members and provides acess to sites
type User ¶
type User struct {
// TODO: set Provider here so that we can pass it to db
// populated by db (via mapstructure) or from provider (via json)
// Provider string `json:"provider",mapstructure:"provider"`
Username string `json:"username" mapstructure:"username"`
Name string `json:"name" mapstructure:"name"`
Email string `json:"email" mapstructure:"email"`
CreatedOn int64 `json:"createdon"`
LastUpdate int64 `json:"lastupdate"`
// don't populate ID from json https://github.com/vouch/vouch-proxy/issues/185
ID int `json:"-" mapstructure:"id"`
TeamMemberships []string
}
User is inherited.
func (*User) PrepareUserData ¶ added in v0.2.6
func (u *User) PrepareUserData()
PrepareUserData implement PersonalData interface