import "code.gitea.io/gitea/modules/auth"
admin.go auth.go auth_form.go org.go repo_branch_form.go repo_form.go user_form.go user_form_auth_openid.go
Avatar types
AssignForm assign form values back to the template data.
func GetInclude(field reflect.StructField) string
GetInclude get include in form tag
func GetMaxSize(field reflect.StructField) string
GetMaxSize get max size in form tag
func GetMinSize(field reflect.StructField) string
GetMinSize get minimal size in form tag
func GetSize(field reflect.StructField) string
GetSize get size int form tag
IsAPIPath if URL is an api path
func ParseRemoteAddr(remoteAddr, authUsername, authPassword string, user *models.User) (string, error)
ParseRemoteAddr checks if given remote address is valid, and returns composed URL with needed username and password. It also checks if given user has permission when remote address is actually a local path.
type AccessTokenForm struct { GrantType string `json:"grant_type"` ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` RedirectURI string `json:"redirect_uri"` Code string `json:"code"` RefreshToken string `json:"refresh_token"` // PKCE support CodeVerifier string `json:"code_verifier"` }
AccessTokenForm for issuing access tokens from authorization codes or refresh tokens
Validate validates the fields
AddEmailForm form for adding new email
Validate validates the fields
type AddKeyForm struct { Type string `binding:"OmitEmpty"` Title string `binding:"Required;MaxSize(50)"` Content string `binding:"Required"` IsWritable bool }
AddKeyForm form for adding SSH/GPG key
Validate validates the fields
AddOpenIDForm is for changing openid uri
Validate validates the fields
type AddTimeManuallyForm struct { Hours int `binding:"Range(0,1000)"` Minutes int `binding:"Range(0,1000)"` }
AddTimeManuallyForm form that adds spent time manually.
Validate validates the fields
type AdminCreateUserForm struct { LoginType string `binding:"Required"` LoginName string UserName string `binding:"Required;AlphaDashDot;MaxSize(40)"` Email string `binding:"Required;Email;MaxSize(254)"` Password string `binding:"MaxSize(255)"` SendNotify bool MustChangePassword bool }
AdminCreateUserForm form for admin to create user
Validate validates form fields
AdminDashboardForm form for admin dashboard operations
Validate validates form fields
type AdminEditUserForm struct { LoginType string `binding:"Required"` UserName string `binding:"AlphaDashDot;MaxSize(40)"` LoginName string FullName string `binding:"MaxSize(100)"` Email string `binding:"Required;Email;MaxSize(254)"` Password string `binding:"MaxSize(255)"` Website string `binding:"ValidUrl;MaxSize(255)"` Location string `binding:"MaxSize(50)"` MaxRepoCreation int Active bool Admin bool Restricted bool AllowGitHook bool AllowImportLocal bool AllowCreateOrganization bool ProhibitLogin bool Reset2FA bool `form:"reset_2fa"` }
AdminEditUserForm form for admin to create user
Validate validates form fields
type AuthenticationForm struct { ID int64 Type int `binding:"Range(2,7)"` Name string `binding:"Required;MaxSize(30)"` Host string Port int BindDN string BindPassword string UserBase string UserDN string AttributeUsername string AttributeName string AttributeSurname string AttributeMail string AttributeSSHPublicKey string AttributesInBind bool UsePagedSearch bool SearchPageSize int Filter string AdminFilter string GroupsEnabled bool GroupDN string GroupFilter string GroupMemberUID string UserUID string RestrictedFilter string AllowDeactivateAll bool IsActive bool IsSyncEnabled bool SMTPAuth string SMTPHost string SMTPPort int AllowedDomains string SecurityProtocol int `binding:"Range(0,2)"` TLS bool SkipVerify bool PAMServiceName string Oauth2Provider string Oauth2Key string Oauth2Secret string OpenIDConnectAutoDiscoveryURL string Oauth2UseCustomURL bool Oauth2TokenURL string Oauth2AuthURL string Oauth2ProfileURL string Oauth2EmailURL string Oauth2IconURL string SSPIAutoCreateUsers bool SSPIAutoActivateUsers bool SSPIStripDomainNames bool SSPISeparatorReplacement string `binding:"AlphaDashDot;MaxSize(5)"` SSPIDefaultLanguage string }
AuthenticationForm form for authentication
Validate validates fields
type AuthorizationForm struct { ResponseType string `binding:"Required;In(code)"` ClientID string `binding:"Required"` RedirectURI string State string Scope string Nonce string // PKCE support CodeChallengeMethod string // S256, plain CodeChallenge string }
AuthorizationForm form for authorizing oauth2 clients
Validate validates the fields
type AvatarForm struct { Source string Avatar *multipart.FileHeader Gravatar string `binding:"OmitEmpty;Email;MaxSize(254)"` Federavatar bool }
AvatarForm form for changing avatar
Validate validates the fields
type ChangePasswordForm struct { OldPassword string `form:"old_password" binding:"MaxSize(255)"` Password string `form:"password" binding:"Required;MaxSize(255)"` Retype string `form:"retype"` }
ChangePasswordForm form for changing password
Validate validates the fields
type CodeCommentForm struct { Origin string `binding:"Required;In(timeline,diff)"` Content string `binding:"Required"` Side string `binding:"Required;In(previous,proposed)"` Line int64 TreePath string `form:"path" binding:"Required"` IsReview bool `form:"is_review"` Reply int64 `form:"reply"` LatestCommitID string }
CodeCommentForm form for adding code comments for PRs
Validate validates the fields
type ConnectOpenIDForm struct { UserName string `binding:"Required;MaxSize(254)"` Password string `binding:"Required;MaxSize(255)"` }
ConnectOpenIDForm form for connecting an existing account to an OpenID URI
Validate validates the fields
type CreateCommentForm struct { Content string Status string `binding:"OmitEmpty;In(reopen,close)"` Files []string }
CreateCommentForm form for creating comment
Validate validates the fields
type CreateIssueForm struct { Title string `binding:"Required;MaxSize(255)"` LabelIDs string `form:"label_ids"` AssigneeIDs string `form:"assignee_ids"` Ref string `form:"ref"` MilestoneID int64 ProjectID int64 AssigneeID int64 Content string Files []string }
CreateIssueForm form for creating issue
Validate validates the fields
type CreateLabelForm struct { ID int64 Title string `binding:"Required;MaxSize(50)" locale:"repo.issues.label_title"` Description string `binding:"MaxSize(200)" locale:"repo.issues.label_description"` Color string `binding:"Required;Size(7)" locale:"repo.issues.label_color"` }
CreateLabelForm form for creating label
Validate validates the fields
type CreateMilestoneForm struct { Title string `binding:"Required;MaxSize(50)"` Content string Deadline string }
CreateMilestoneForm form for creating milestone
Validate validates the fields
type CreateOrgForm struct { OrgName string `binding:"Required;AlphaDashDot;MaxSize(40)" locale:"org.org_name_holder"` Visibility structs.VisibleType RepoAdminChangeTeamAccess bool }
CreateOrgForm form for creating organization
Validate validates the fields
type CreateProjectForm struct { Title string `binding:"Required;MaxSize(100)"` Content string BoardType models.ProjectBoardType }
CreateProjectForm form for creating a project
type CreateRepoForm struct { UID int64 `binding:"Required"` RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"` Private bool Description string `binding:"MaxSize(255)"` DefaultBranch string `binding:"GitRefName;MaxSize(100)"` AutoInit bool Gitignores string IssueLabels string License string Readme string Template bool RepoTemplate int64 GitContent bool Topics bool GitHooks bool Webhooks bool Avatar bool Labels bool TrustModel string }
CreateRepoForm form for creating repository
Validate validates the fields
type CreateTeamForm struct { TeamName string `binding:"Required;AlphaDashDot;MaxSize(30)"` Description string `binding:"MaxSize(255)"` Permission string Units []models.UnitType RepoAccess string CanCreateOrgRepo bool }
CreateTeamForm form for creating team
Validate validates the fields
DeadlineForm hold the validation rules for deadlines
Validate validates the fields
type DeleteRepoFileForm struct { CommitSummary string `binding:"MaxSize(100)"` CommitMessage string CommitChoice string `binding:"Required;MaxSize(50)"` NewBranchName string `binding:"GitRefName;MaxSize(100)"` LastCommit string }
DeleteRepoFileForm form for deleting repository file
Validate validates the fields
type EditOAuth2ApplicationForm struct { Name string `binding:"Required;MaxSize(255)" form:"application_name"` RedirectURI string `binding:"Required" form:"redirect_uri"` }
EditOAuth2ApplicationForm form for editing oauth2 applications
func (f *EditOAuth2ApplicationForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors
Validate validates the fields
EditPreviewDiffForm form for changing preview diff
Validate validates the fields
EditProjectBoardTitleForm is a form for editing the title of a project's board
type EditReleaseForm struct { Title string `form:"title" binding:"Required;MaxSize(255)"` Content string `form:"content"` Draft string `form:"draft"` Prerelease bool `form:"prerelease"` Files []string }
EditReleaseForm form for changing release
Validate validates the fields
type EditRepoFileForm struct { TreePath string `binding:"Required;MaxSize(500)"` Content string CommitSummary string `binding:"MaxSize(100)"` CommitMessage string CommitChoice string `binding:"Required;MaxSize(50)"` NewBranchName string `binding:"GitRefName;MaxSize(100)"` LastCommit string }
EditRepoFileForm form for changing repository file
Validate validates the fields
Form form binding interface
type GrantApplicationForm struct { ClientID string `binding:"Required"` RedirectURI string State string Scope string Nonce string }
GrantApplicationForm form for authorizing oauth2 clients
Validate validates the fields
InitializeLabelsForm form for initializing labels
Validate validates the fields
type InstallForm struct { DbType string `binding:"Required"` DbHost string DbUser string DbPasswd string DbName string SSLMode string Charset string `binding:"Required;In(utf8,utf8mb4)"` DbPath string DbSchema string AppName string `binding:"Required" locale:"install.app_name"` RepoRootPath string `binding:"Required"` LFSRootPath string RunUser string `binding:"Required"` Domain string `binding:"Required"` SSHPort int HTTPPort string `binding:"Required"` AppURL string `binding:"Required"` LogRootPath string `binding:"Required"` SMTPHost string SMTPFrom string SMTPUser string `binding:"OmitEmpty;MaxSize(254)" locale:"install.mailer_user"` SMTPPasswd string RegisterConfirm bool MailNotify bool OfflineMode bool DisableGravatar bool EnableFederatedAvatar bool EnableOpenIDSignIn bool EnableOpenIDSignUp bool DisableRegistration bool AllowOnlyExternalRegistration bool EnableCaptcha bool RequireSignInView bool DefaultKeepEmailPrivate bool DefaultAllowCreateOrganization bool DefaultEnableTimetracking bool NoReplyAddress string AdminName string `binding:"OmitEmpty;AlphaDashDot;MaxSize(30)" locale:"install.admin_name"` AdminPasswd string `binding:"OmitEmpty;MaxSize(255)" locale:"install.admin_password"` AdminConfirmPasswd string AdminEmail string `binding:"OmitEmpty;MinSize(3);MaxSize(254);Include(@)" locale:"install.admin_email"` }
InstallForm form for installation page
Validate validates the fields
IssueLockForm form for locking an issue
func (i IssueLockForm) HasValidReason() bool
HasValidReason checks to make sure that the reason submitted in the form matches any of the values in the config
Validate validates the fields
type MergePullRequestForm struct { // required: true // enum: merge,rebase,rebase-merge,squash Do string `binding:"Required;In(merge,rebase,rebase-merge,squash)"` MergeTitleField string MergeMessageField string ForceMerge *bool `json:"force_merge,omitempty"` }
MergePullRequestForm form for merging Pull Request swagger:model MergePullRequestOption
Validate validates the fields
type MigrateRepoForm struct { // required: true CloneAddr string `json:"clone_addr" binding:"Required"` Service structs.GitServiceType `json:"service"` AuthUsername string `json:"auth_username"` AuthPassword string `json:"auth_password"` AuthToken string `json:"auth_token"` // required: true UID int64 `json:"uid" binding:"Required"` // required: true RepoName string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"` Mirror bool `json:"mirror"` Private bool `json:"private"` Description string `json:"description" binding:"MaxSize(255)"` Wiki bool `json:"wiki"` Milestones bool `json:"milestones"` Labels bool `json:"labels"` Issues bool `json:"issues"` PullRequests bool `json:"pull_requests"` Releases bool `json:"releases"` MirrorInterval string `json:"mirror_interval"` }
MigrateRepoForm form for migrating repository this is used to interact with web ui
Validate validates the fields
type MustChangePasswordForm struct { Password string `binding:"Required;MaxSize(255)"` Retype string }
MustChangePasswordForm form for updating your password after account creation by an admin
func (f *MustChangePasswordForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors
Validate validates the fields
NewAccessTokenForm form for creating access token
Validate validates the fields
NewBranchForm form for creating a new branch
Validate validates the fields
type NewDingtalkHookForm struct { PayloadURL string `binding:"Required;ValidUrl"` WebhookForm }
NewDingtalkHookForm form for creating dingtalk hook
Validate validates the fields
type NewDiscordHookForm struct { PayloadURL string `binding:"Required;ValidUrl"` Username string IconURL string WebhookForm }
NewDiscordHookForm form for creating discord hook
Validate validates the fields
type NewFeishuHookForm struct { PayloadURL string `binding:"Required;ValidUrl"` WebhookForm }
NewFeishuHookForm form for creating feishu hook
Validate validates the fields
type NewGogshookForm struct { PayloadURL string `binding:"Required;ValidUrl"` ContentType int `binding:"Required"` Secret string WebhookForm }
NewGogshookForm form for creating gogs hook
Validate validates the fields
type NewMSTeamsHookForm struct { PayloadURL string `binding:"Required;ValidUrl"` WebhookForm }
NewMSTeamsHookForm form for creating MS Teams hook
Validate validates the fields
type NewMatrixHookForm struct { HomeserverURL string `binding:"Required;ValidUrl"` RoomID string `binding:"Required"` AccessToken string `binding:"Required"` MessageType int WebhookForm }
NewMatrixHookForm form for creating Matrix hook
Validate validates the fields
type NewReleaseForm struct { TagName string `binding:"Required;GitRefName;MaxSize(255)"` Target string `form:"tag_target" binding:"Required;MaxSize(255)"` Title string `binding:"Required;MaxSize(255)"` Content string Draft string Prerelease bool Files []string }
NewReleaseForm form for creating release
Validate validates the fields
type NewSlackHookForm struct { PayloadURL string `binding:"Required;ValidUrl"` Channel string `binding:"Required"` Username string IconURL string Color string WebhookForm }
NewSlackHookForm form for creating slack hook
func (f NewSlackHookForm) HasInvalidChannel() bool
HasInvalidChannel validates the channel name is in the right format
Validate validates the fields
type NewTelegramHookForm struct { BotToken string `binding:"Required"` ChatID string `binding:"Required"` WebhookForm }
NewTelegramHookForm form for creating telegram hook
Validate validates the fields
type NewWebhookForm struct { PayloadURL string `binding:"Required;ValidUrl"` HTTPMethod string `binding:"Required;In(POST,GET)"` ContentType int `binding:"Required"` Secret string WebhookForm }
NewWebhookForm form for creating web hook
Validate validates the fields
type NewWikiForm struct { Title string `binding:"Required"` Content string `binding:"Required"` Message string }
NewWikiForm form for creating wiki
Validate validates the fields FIXME: use code generation to generate this method.
type ProtectBranchForm struct { Protected bool EnablePush string WhitelistUsers string WhitelistTeams string WhitelistDeployKeys bool EnableMergeWhitelist bool MergeWhitelistUsers string MergeWhitelistTeams string EnableStatusCheck bool StatusCheckContexts []string RequiredApprovals int64 EnableApprovalsWhitelist bool ApprovalsWhitelistUsers string ApprovalsWhitelistTeams string BlockOnRejectedReviews bool BlockOnOfficialReviewRequests bool BlockOnOutdatedBranch bool DismissStaleApprovals bool RequireSignedCommits bool ProtectedFilePatterns string }
ProtectBranchForm form for changing protected branch settings
Validate validates the fields
ReactionForm form for adding and removing reaction
Validate validates the fields
type RegisterForm struct { UserName string `binding:"Required;AlphaDashDot;MaxSize(40)"` Email string `binding:"Required;Email;MaxSize(254)"` Password string `binding:"MaxSize(255)"` Retype string GRecaptchaResponse string `form:"g-recaptcha-response"` HcaptchaResponse string `form:"h-captcha-response"` }
RegisterForm form for registering
func (f RegisterForm) IsEmailDomainWhitelisted() bool
IsEmailDomainWhitelisted validates that the email address provided by the user matches what has been configured . If the domain whitelist from the config is empty, it marks the email as whitelisted
Validate validates the fields
RemoveUploadFileForm form for removing uploaded file
Validate validates the fields
type RepoSettingForm struct { RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"` Description string `binding:"MaxSize(255)"` Website string `binding:"ValidUrl;MaxSize(255)"` Interval string MirrorAddress string MirrorUsername string MirrorPassword string Private bool Template bool EnablePrune bool // Advanced settings EnableWiki bool EnableExternalWiki bool ExternalWikiURL string EnableIssues bool EnableExternalTracker bool ExternalTrackerURL string TrackerURLFormat string TrackerIssueStyle string EnableProjects bool EnablePulls bool PullsIgnoreWhitespace bool PullsAllowMerge bool PullsAllowRebase bool PullsAllowRebaseMerge bool PullsAllowSquash bool EnableTimetracker bool AllowOnlyContributorsToTrackTime bool EnableIssueDependencies bool IsArchived bool // Signing Settings TrustModel string // Admin settings EnableHealthCheck bool EnableCloseIssuesViaCommitInAnyBranch bool }
RepoSettingForm form for changing repository settings
Validate validates the fields
SaveTopicForm form for save topics for repository
type SignInForm struct { UserName string `binding:"Required;MaxSize(254)"` // TODO remove required from password for SecondFactorAuthentication Password string `binding:"Required;MaxSize(255)"` Remember bool }
SignInForm form for signing in with user/password
Validate validates the fields
SignInOpenIDForm form for signing in with OpenID
Validate validates the fields
type SignUpOpenIDForm struct { UserName string `binding:"Required;AlphaDashDot;MaxSize(40)"` Email string `binding:"Required;Email;MaxSize(254)"` GRecaptchaResponse string `form:"g-recaptcha-response"` HcaptchaResponse string `form:"h-captcha-response"` }
SignUpOpenIDForm form for signin up with OpenID
Validate validates the fields
type SubmitReviewForm struct { Content string Type string `binding:"Required;In(approve,comment,reject)"` CommitID string }
SubmitReviewForm for submitting a finished code review
func (f SubmitReviewForm) HasEmptyContent() bool
HasEmptyContent checks if the content of the review form is empty.
func (f SubmitReviewForm) ReviewType() models.ReviewType
ReviewType will return the corresponding reviewtype for type
Validate validates the fields
TwoFactorAuthForm for logging in with 2FA token.
Validate validates the fields
TwoFactorScratchAuthForm for logging in with 2FA scratch token.
func (f *TwoFactorScratchAuthForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors
Validate validates the fields
U2FDeleteForm for deleting U2F keys
Validate validates the fields
U2FRegistrationForm for reserving an U2F name
Validate validates the fields
type UpdateOrgSettingForm struct { Name string `binding:"Required;AlphaDashDot;MaxSize(40)" locale:"org.org_name_holder"` FullName string `binding:"MaxSize(100)"` Description string `binding:"MaxSize(255)"` Website string `binding:"ValidUrl;MaxSize(255)"` Location string `binding:"MaxSize(50)"` Visibility structs.VisibleType MaxRepoCreation int RepoAdminChangeTeamAccess bool }
UpdateOrgSettingForm form for updating organization settings
Validate validates the fields
type UpdateProfileForm struct { Name string `binding:"AlphaDashDot;MaxSize(40)"` FullName string `binding:"MaxSize(100)"` KeepEmailPrivate bool Website string `binding:"ValidUrl;MaxSize(255)"` Location string `binding:"MaxSize(50)"` Language string Description string `binding:"MaxSize(255)"` KeepActivityPrivate bool }
UpdateProfileForm form for updating profile
Validate validates the fields
UpdateThemeForm form for updating a users' theme
func (f UpdateThemeForm) IsThemeExists() bool
IsThemeExists checks if the theme is a theme available in the config.
Validate validates the field
type UploadRepoFileForm struct { TreePath string `binding:"MaxSize(500)"` CommitSummary string `binding:"MaxSize(100)"` CommitMessage string CommitChoice string `binding:"Required;MaxSize(50)"` NewBranchName string `binding:"GitRefName;MaxSize(100)"` Files []string }
UploadRepoFileForm form for uploading repository file
Validate validates the fields
type UserCreateProjectForm struct { Title string `binding:"Required;MaxSize(100)"` Content string BoardType models.ProjectBoardType UID int64 `binding:"Required"` }
UserCreateProjectForm is a from for creating an individual or organization form.
type WebhookForm struct { Events string Create bool Delete bool Fork bool Issues bool IssueAssign bool IssueLabel bool IssueMilestone bool IssueComment bool Release bool Push bool PullRequest bool PullRequestAssign bool PullRequestLabel bool PullRequestMilestone bool PullRequestComment bool PullRequestReview bool PullRequestSync bool Repository bool Active bool BranchFilter string `binding:"GlobPattern"` }
WebhookForm form for changing web hook
func (f WebhookForm) ChooseEvents() bool
ChooseEvents if the hook will be triggered choose events
func (f WebhookForm) PushOnly() bool
PushOnly if the hook will be triggered when push
func (f WebhookForm) SendEverything() bool
SendEverything if the hook will be triggered any event
Path | Synopsis |
---|---|
ldap | Package ldap provide functions & structure to query a LDAP ldap directory For now, it's mainly tested again an MS Active Directory service, see README.md for more information |
oauth2 | |
openid | |
pam | |
sso |
Package auth imports 14 packages (graph) and is imported by 215 packages. Updated 2021-01-22. Refresh now. Tools for package owners.