mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	Prevent 500 when there is an error during new auth source post (#19041)
Fix #19036 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		
					parent
					
						
							
								886b1de949
							
						
					
				
			
			
				commit
				
					
						a223bc8765
					
				
			
		
					 3 changed files with 5 additions and 8 deletions
				
			
		| 
						 | 
					@ -93,7 +93,7 @@ func NewAuthSource(ctx *context.Context) {
 | 
				
			||||||
	ctx.Data["PageIsAdmin"] = true
 | 
						ctx.Data["PageIsAdmin"] = true
 | 
				
			||||||
	ctx.Data["PageIsAdminAuthentications"] = true
 | 
						ctx.Data["PageIsAdminAuthentications"] = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.Data["type"] = auth.LDAP
 | 
						ctx.Data["type"] = auth.LDAP.Int()
 | 
				
			||||||
	ctx.Data["CurrentTypeName"] = auth.Names[auth.LDAP]
 | 
						ctx.Data["CurrentTypeName"] = auth.Names[auth.LDAP]
 | 
				
			||||||
	ctx.Data["CurrentSecurityProtocol"] = ldap.SecurityProtocolNames[ldap.SecurityProtocolUnencrypted]
 | 
						ctx.Data["CurrentSecurityProtocol"] = ldap.SecurityProtocolNames[ldap.SecurityProtocolUnencrypted]
 | 
				
			||||||
	ctx.Data["smtp_auth"] = "PLAIN"
 | 
						ctx.Data["smtp_auth"] = "PLAIN"
 | 
				
			||||||
| 
						 | 
					@ -112,7 +112,7 @@ func NewAuthSource(ctx *context.Context) {
 | 
				
			||||||
	ctx.Data["SSPIDefaultLanguage"] = ""
 | 
						ctx.Data["SSPIDefaultLanguage"] = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// only the first as default
 | 
						// only the first as default
 | 
				
			||||||
	ctx.Data["oauth2_provider"] = oauth2providers[0]
 | 
						ctx.Data["oauth2_provider"] = oauth2providers[0].Name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.HTML(http.StatusOK, tplAuthNew)
 | 
						ctx.HTML(http.StatusOK, tplAuthNew)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -253,9 +253,6 @@ func NewAuthSourcePost(ctx *context.Context) {
 | 
				
			||||||
	ctx.Data["SSPISeparatorReplacement"] = "_"
 | 
						ctx.Data["SSPISeparatorReplacement"] = "_"
 | 
				
			||||||
	ctx.Data["SSPIDefaultLanguage"] = ""
 | 
						ctx.Data["SSPIDefaultLanguage"] = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// FIXME: most error path to render tplAuthNew will fail and result in 500
 | 
					 | 
				
			||||||
	// * template: admin/auth/new:17:68: executing "admin/auth/new" at <.type.Int>: can't evaluate field Int in type interface {}
 | 
					 | 
				
			||||||
	// * template: admin/auth/source/oauth:5:93: executing "admin/auth/source/oauth" at <.oauth2_provider.Name>: can't evaluate field Name in type interface {}
 | 
					 | 
				
			||||||
	hasTLS := false
 | 
						hasTLS := false
 | 
				
			||||||
	var config convert.Conversion
 | 
						var config convert.Conversion
 | 
				
			||||||
	switch auth.Type(form.Type) {
 | 
						switch auth.Type(form.Type) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,7 @@
 | 
				
			||||||
				<div class="inline required field {{if .Err_Type}}error{{end}}">
 | 
									<div class="inline required field {{if .Err_Type}}error{{end}}">
 | 
				
			||||||
					<label>{{.i18n.Tr "admin.auths.auth_type"}}</label>
 | 
										<label>{{.i18n.Tr "admin.auths.auth_type"}}</label>
 | 
				
			||||||
					<div class="ui selection type dropdown">
 | 
										<div class="ui selection type dropdown">
 | 
				
			||||||
						<input type="hidden" id="auth_type" name="type" value="{{.type.Int}}">
 | 
											<input type="hidden" id="auth_type" name="type" value="{{.type}}">
 | 
				
			||||||
						<div class="text">{{.CurrentTypeName}}</div>
 | 
											<div class="text">{{.CurrentTypeName}}</div>
 | 
				
			||||||
						{{svg "octicon-triangle-down" 14 "dropdown icon"}}
 | 
											{{svg "octicon-triangle-down" 14 "dropdown icon"}}
 | 
				
			||||||
						<div class="menu">
 | 
											<div class="menu">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,8 +2,8 @@
 | 
				
			||||||
	<div class="inline required field">
 | 
						<div class="inline required field">
 | 
				
			||||||
		<label>{{.i18n.Tr "admin.auths.oauth2_provider"}}</label>
 | 
							<label>{{.i18n.Tr "admin.auths.oauth2_provider"}}</label>
 | 
				
			||||||
		<div class="ui selection type dropdown">
 | 
							<div class="ui selection type dropdown">
 | 
				
			||||||
			<input type="hidden" id="oauth2_provider" name="oauth2_provider" value="{{.oauth2_provider.Name}}">
 | 
								<input type="hidden" id="oauth2_provider" name="oauth2_provider" value="{{.oauth2_provider}}">
 | 
				
			||||||
			<div class="text">{{.oauth2_provider.Name}}</div>
 | 
								<div class="text">{{.oauth2_provider}}</div>
 | 
				
			||||||
			{{svg "octicon-triangle-down" 14 "dropdown icon"}}
 | 
								{{svg "octicon-triangle-down" 14 "dropdown icon"}}
 | 
				
			||||||
			<div class="menu">
 | 
								<div class="menu">
 | 
				
			||||||
				{{range .OAuth2Providers}}
 | 
									{{range .OAuth2Providers}}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue