*: port oob template
This commit is contained in:
		| @@ -384,8 +384,7 @@ func (s *Server) sendCodeResponse(w http.ResponseWriter, r *http.Request, authRe | |||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			if authReq.RedirectURI == redirectURIOOB { | 			if authReq.RedirectURI == redirectURIOOB { | ||||||
| 				// TODO(ericchiang): Add a proper template. | 				s.templates.oob(w, code.ID) | ||||||
| 				fmt.Fprintf(w, "Code: %s", code.ID) |  | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			q.Set("code", code.ID) | 			q.Set("code", code.ID) | ||||||
|   | |||||||
| @@ -15,6 +15,7 @@ const ( | |||||||
| 	tmplApproval = "approval.html" | 	tmplApproval = "approval.html" | ||||||
| 	tmplLogin    = "login.html" | 	tmplLogin    = "login.html" | ||||||
| 	tmplPassword = "password.html" | 	tmplPassword = "password.html" | ||||||
|  | 	tmplOOB      = "oob.html" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const coreOSLogoURL = "https://coreos.com/assets/images/brand/coreos-wordmark-135x40px.png" | const coreOSLogoURL = "https://coreos.com/assets/images/brand/coreos-wordmark-135x40px.png" | ||||||
| @@ -23,6 +24,7 @@ var requiredTmpls = []string{ | |||||||
| 	tmplApproval, | 	tmplApproval, | ||||||
| 	tmplLogin, | 	tmplLogin, | ||||||
| 	tmplPassword, | 	tmplPassword, | ||||||
|  | 	tmplOOB, | ||||||
| } | } | ||||||
|  |  | ||||||
| // TemplateConfig describes. | // TemplateConfig describes. | ||||||
| @@ -106,6 +108,7 @@ func loadTemplates(config TemplateConfig) (*templates, error) { | |||||||
| 		loginTmpl:    tmpls.Lookup(tmplLogin), | 		loginTmpl:    tmpls.Lookup(tmplLogin), | ||||||
| 		approvalTmpl: tmpls.Lookup(tmplApproval), | 		approvalTmpl: tmpls.Lookup(tmplApproval), | ||||||
| 		passwordTmpl: tmpls.Lookup(tmplPassword), | 		passwordTmpl: tmpls.Lookup(tmplPassword), | ||||||
|  | 		oobTmpl:      tmpls.Lookup(tmplOOB), | ||||||
| 	}, nil | 	}, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -120,6 +123,7 @@ type templates struct { | |||||||
| 	loginTmpl    *template.Template | 	loginTmpl    *template.Template | ||||||
| 	approvalTmpl *template.Template | 	approvalTmpl *template.Template | ||||||
| 	passwordTmpl *template.Template | 	passwordTmpl *template.Template | ||||||
|  | 	oobTmpl      *template.Template | ||||||
| } | } | ||||||
|  |  | ||||||
| type connectorInfo struct { | type connectorInfo struct { | ||||||
| @@ -175,6 +179,14 @@ func (t *templates) approval(w http.ResponseWriter, state, username, clientName | |||||||
| 	renderTemplate(w, t.approvalTmpl, data) | 	renderTemplate(w, t.approvalTmpl, data) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (t *templates) oob(w http.ResponseWriter, code string) { | ||||||
|  | 	data := struct { | ||||||
|  | 		TemplateConfig | ||||||
|  | 		Code string | ||||||
|  | 	}{t.globalData, code} | ||||||
|  | 	renderTemplate(w, t.oobTmpl, data) | ||||||
|  | } | ||||||
|  |  | ||||||
| // small io.Writer utilitiy to determine if executing the template wrote to the underlying response writer. | // small io.Writer utilitiy to determine if executing the template wrote to the underlying response writer. | ||||||
| type writeRecorder struct { | type writeRecorder struct { | ||||||
| 	wrote bool | 	wrote bool | ||||||
|   | |||||||
| @@ -313,6 +313,18 @@ var defaultTemplates = map[string]string{ | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | {{ template "footer.html" . }} | ||||||
|  | `, | ||||||
|  | 	"oob.html": `{{ template "header.html" . }} | ||||||
|  |  | ||||||
|  | <div class="panel"> | ||||||
|  |   <h2 class="heading">Login Successful</h2> | ||||||
|  |  | ||||||
|  |   Please copy this code, switch to your application and paste it there: | ||||||
|  |   <br/> | ||||||
|  |   <input type="text" value="{{ .Code }}" /> | ||||||
|  | </div> | ||||||
|  |  | ||||||
| {{ template "footer.html" . }} | {{ template "footer.html" . }} | ||||||
| `, | `, | ||||||
| 	"password.html": `{{ template "header.html" . }} | 	"password.html": `{{ template "header.html" . }} | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								web/templates/oob.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								web/templates/oob.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | {{ template "header.html" . }} | ||||||
|  |  | ||||||
|  | <div class="panel"> | ||||||
|  |   <h2 class="heading">Login Successful</h2> | ||||||
|  |  | ||||||
|  |   Please copy this code, switch to your application and paste it there: | ||||||
|  |   <br/> | ||||||
|  |   <input type="text" value="{{ .Code }}" /> | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | {{ template "footer.html" . }} | ||||||
		Reference in New Issue
	
	Block a user