Browse Source

cmd,server,static/html: Configurable name, logo

fixes #47
pull/104/head
Bobby Rullo 11 years ago
parent
commit
f1820cda14
  1. 8
      cmd/dex-worker/main.go
  2. 17
      server/config.go
  3. 2
      server/testutil.go
  4. 2
      static/html/header.html
  5. 4
      static/html/login.html

8
cmd/dex-worker/main.go

@ -28,7 +28,9 @@ func init() {
func main() {
fs := flag.NewFlagSet("dex-worker", flag.ExitOnError)
listen := fs.String("listen", "http://127.0.0.1:5556", "the address that the server will listen on")
issuer := fs.String("issuer", "http://127.0.0.1:5556", "the issuer's location")
certFile := fs.String("tls-cert-file", "", "the server's certificate file for TLS connection")
keyFile := fs.String("tls-key-file", "", "the server's private key file for TLS connection")
@ -42,6 +44,10 @@ func main() {
noDB := fs.Bool("no-db", false, "manage entities in-process w/o any encryption, used only for single-node testing")
// UI-related:
issuerName := fs.String("issuer-name", "dex", "The name of this dex installation; will appear on most pages.")
issuerLogoURL := fs.String("issuer-logo-url", "https://coreos.com/assets/images/brand/coreos-wordmark-135x40px.png", "URL of an image representing the issuer")
// ignored if --no-db is set
dbURL := fs.String("db-url", "", "DSN-formatted database connection string")
@ -110,6 +116,8 @@ func main() {
EmailTemplateDirs: emailTemplateDirs,
EmailFromAddress: *emailFrom,
EmailerConfigFile: *emailConfig,
IssuerName: *issuerName,
IssuerLogoURL: *issuerLogoURL,
}
if *noDB {

17
server/config.go

@ -26,6 +26,8 @@ import (
type ServerConfig struct {
IssuerURL string
IssuerName string
IssuerLogoURL string
TemplateDir string
EmailTemplateDirs []string
EmailFromAddress string
@ -54,7 +56,7 @@ func (cfg *ServerConfig) Server() (*Server, error) {
return nil, err
}
tpl, err := getTemplates(cfg.TemplateDir)
tpl, err := getTemplates(cfg.IssuerName, cfg.IssuerLogoURL, cfg.TemplateDir)
if err != nil {
return nil, err
}
@ -181,8 +183,17 @@ func (cfg *MultiServerConfig) Configure(srv *Server) error {
return nil
}
func getTemplates(dir string) (*template.Template, error) {
return template.ParseGlob(dir + "/*.html")
func getTemplates(issuerName, issuerLogoURL string, dir string) (*template.Template, error) {
tpl := template.New("").Funcs(map[string]interface{}{
"issuerName": func() string {
return issuerName
},
"issuerLogoURL": func() string {
return issuerLogoURL
},
})
return tpl.ParseGlob(dir + "/*.html")
}
func setTemplates(srv *Server, tpls *template.Template) error {

2
server/testutil.go

@ -126,7 +126,7 @@ func makeTestFixtures() (*testFixtures, error) {
return nil, err
}
tpl, err := getTemplates(templatesLocation)
tpl, err := getTemplates("dex", "https://coreos.com/assets/images/brand/coreos-mark-30px.png", templatesLocation)
if err != nil {
return nil, err
}

2
static/html/header.html

@ -206,7 +206,7 @@
<body>
<div id="navbar">
<div id="navbar-logo-wrap">
[ Dex by CoreOS ]
<img id="navbar-logo" src="{{ issuerLogoURL}}">
</div>
</div>

4
static/html/login.html

@ -9,10 +9,10 @@
<h2 class="heading">{{ .Message }}</h2>
{{ else }}
{{ if and .Register (eq .MsgCode "") }}
<h2 class="heading">Create Your Account</h2>
<h2 class="heading">Create Your {{ issuerName }} Account</h2>
<div class="explain">Verify using either option below</div>
{{ else }}
<h2 class="heading">Log in to Your Account</h2>
<h2 class="heading">Log in to {{ issuerName }} </h2>
{{ end}}
{{ end }}

Loading…
Cancel
Save