Auth Proxy: Respect auto_sign_up setting (#17843)

* Add test for disabled auth proxy auto signup option

* Set correctly auth proxy auto signup
This commit is contained in:
Sofia Papagiannaki
2019-07-01 14:29:41 +03:00
committed by GitHub
parent c2affdee1e
commit f3f03ceb6a
2 changed files with 22 additions and 1 deletions
+1 -1
View File
@@ -263,7 +263,7 @@ func (auth *AuthProxy) LoginViaHeader() (int64, error) {
upsert := &models.UpsertUserCommand{
ReqContext: auth.ctx,
SignupAllowed: true,
SignupAllowed: setting.AuthProxyAutoSignUp,
ExternalUser: extUser,
}
err := bus.Dispatch(upsert)
+21
View File
@@ -15,9 +15,11 @@ import (
"github.com/grafana/grafana/pkg/infra/remotecache"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/auth"
"github.com/grafana/grafana/pkg/services/login"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/util"
. "github.com/smartystreets/goconvey/convey"
"github.com/stretchr/testify/assert"
"gopkg.in/macaron.v1"
)
@@ -394,6 +396,25 @@ func TestMiddlewareContext(t *testing.T) {
})
})
middlewareScenario(t, "should respect auto signup option", func(sc *scenarioContext) {
setting.LDAPEnabled = false
setting.AuthProxyAutoSignUp = false
var actualAuthProxyAutoSignUp *bool = nil
bus.AddHandler("test", func(cmd *models.UpsertUserCommand) error {
actualAuthProxyAutoSignUp = &cmd.SignupAllowed
return login.ErrInvalidCredentials
})
sc.fakeReq("GET", "/")
sc.req.Header.Add(setting.AuthProxyHeaderName, name)
sc.exec()
assert.False(t, *actualAuthProxyAutoSignUp)
assert.Equal(t, sc.resp.Code, 500)
assert.Nil(t, sc.context)
})
middlewareScenario(t, "should create an user from a header", func(sc *scenarioContext) {
setting.LDAPEnabled = false
setting.AuthProxyAutoSignUp = true