Merge pull request #78 from 18F/generalize-templates
Add ProviderName field; use in sign_in template
This commit is contained in:
		
						commit
						243dbb77fb
					
				| 
						 | 
					@ -279,11 +279,13 @@ func (p *OauthProxy) SignInPage(rw http.ResponseWriter, req *http.Request, code
 | 
				
			||||||
	rw.WriteHeader(code)
 | 
						rw.WriteHeader(code)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	t := struct {
 | 
						t := struct {
 | 
				
			||||||
 | 
							ProviderName  string
 | 
				
			||||||
		SignInMessage string
 | 
							SignInMessage string
 | 
				
			||||||
		CustomLogin   bool
 | 
							CustomLogin   bool
 | 
				
			||||||
		Redirect      string
 | 
							Redirect      string
 | 
				
			||||||
		Version       string
 | 
							Version       string
 | 
				
			||||||
	}{
 | 
						}{
 | 
				
			||||||
 | 
							ProviderName:  p.provider.Data().ProviderName,
 | 
				
			||||||
		SignInMessage: p.SignInMessage,
 | 
							SignInMessage: p.SignInMessage,
 | 
				
			||||||
		CustomLogin:   p.displayCustomLoginForm(),
 | 
							CustomLogin:   p.displayCustomLoginForm(),
 | 
				
			||||||
		Redirect:      req.URL.RequestURI(),
 | 
							Redirect:      req.URL.RequestURI(),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,6 +13,7 @@ type GoogleProvider struct {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func NewGoogleProvider(p *ProviderData) *GoogleProvider {
 | 
					func NewGoogleProvider(p *ProviderData) *GoogleProvider {
 | 
				
			||||||
 | 
						p.ProviderName = "Google"
 | 
				
			||||||
	if p.LoginUrl.String() == "" {
 | 
						if p.LoginUrl.String() == "" {
 | 
				
			||||||
		p.LoginUrl = &url.URL{Scheme: "https",
 | 
							p.LoginUrl = &url.URL{Scheme: "https",
 | 
				
			||||||
			Host: "accounts.google.com",
 | 
								Host: "accounts.google.com",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@ import (
 | 
				
			||||||
func newGoogleProvider() *GoogleProvider {
 | 
					func newGoogleProvider() *GoogleProvider {
 | 
				
			||||||
	return NewGoogleProvider(
 | 
						return NewGoogleProvider(
 | 
				
			||||||
		&ProviderData{
 | 
							&ProviderData{
 | 
				
			||||||
 | 
								ProviderName: "",
 | 
				
			||||||
			LoginUrl:     &url.URL{},
 | 
								LoginUrl:     &url.URL{},
 | 
				
			||||||
			RedeemUrl:    &url.URL{},
 | 
								RedeemUrl:    &url.URL{},
 | 
				
			||||||
			ProfileUrl:   &url.URL{},
 | 
								ProfileUrl:   &url.URL{},
 | 
				
			||||||
| 
						 | 
					@ -20,6 +21,7 @@ func newGoogleProvider() *GoogleProvider {
 | 
				
			||||||
func TestGoogleProviderDefaults(t *testing.T) {
 | 
					func TestGoogleProviderDefaults(t *testing.T) {
 | 
				
			||||||
	p := newGoogleProvider()
 | 
						p := newGoogleProvider()
 | 
				
			||||||
	assert.NotEqual(t, nil, p)
 | 
						assert.NotEqual(t, nil, p)
 | 
				
			||||||
 | 
						assert.Equal(t, "Google", p.Data().ProviderName)
 | 
				
			||||||
	assert.Equal(t, "https://accounts.google.com/o/oauth2/auth",
 | 
						assert.Equal(t, "https://accounts.google.com/o/oauth2/auth",
 | 
				
			||||||
		p.Data().LoginUrl.String())
 | 
							p.Data().LoginUrl.String())
 | 
				
			||||||
	assert.Equal(t, "https://accounts.google.com/o/oauth2/token",
 | 
						assert.Equal(t, "https://accounts.google.com/o/oauth2/token",
 | 
				
			||||||
| 
						 | 
					@ -45,6 +47,7 @@ func TestGoogleProviderOverrides(t *testing.T) {
 | 
				
			||||||
				Path:   "/oauth/profile"},
 | 
									Path:   "/oauth/profile"},
 | 
				
			||||||
			Scope: "profile"})
 | 
								Scope: "profile"})
 | 
				
			||||||
	assert.NotEqual(t, nil, p)
 | 
						assert.NotEqual(t, nil, p)
 | 
				
			||||||
 | 
						assert.Equal(t, "Google", p.Data().ProviderName)
 | 
				
			||||||
	assert.Equal(t, "https://example.com/oauth/auth",
 | 
						assert.Equal(t, "https://example.com/oauth/auth",
 | 
				
			||||||
		p.Data().LoginUrl.String())
 | 
							p.Data().LoginUrl.String())
 | 
				
			||||||
	assert.Equal(t, "https://example.com/oauth/token",
 | 
						assert.Equal(t, "https://example.com/oauth/token",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@ import (
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ProviderData struct {
 | 
					type ProviderData struct {
 | 
				
			||||||
 | 
						ProviderName string
 | 
				
			||||||
	LoginUrl     *url.URL
 | 
						LoginUrl     *url.URL
 | 
				
			||||||
	RedeemUrl    *url.URL
 | 
						RedeemUrl    *url.URL
 | 
				
			||||||
	ProfileUrl   *url.URL
 | 
						ProfileUrl   *url.URL
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -115,7 +115,7 @@ func getTemplates() *template.Template {
 | 
				
			||||||
	{{ if .SignInMessage }}
 | 
						{{ if .SignInMessage }}
 | 
				
			||||||
	<p>{{.SignInMessage}}</p>
 | 
						<p>{{.SignInMessage}}</p>
 | 
				
			||||||
	{{ end}}
 | 
						{{ end}}
 | 
				
			||||||
	<button type="submit" class="btn">Sign in with a Google Account</button><br/>
 | 
						<button type="submit" class="btn">Sign in with a {{.ProviderName}} Account</button><br/>
 | 
				
			||||||
	</form>
 | 
						</form>
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue