diff --git a/controllers/auth.go b/controllers/auth.go index 3d349be3..ef4cdda4 100644 --- a/controllers/auth.go +++ b/controllers/auth.go @@ -212,10 +212,16 @@ func (c *ApiController) Login() { organization := object.GetOrganization(fmt.Sprintf("%s/%s", "admin", application.Organization)) provider := object.GetProvider(fmt.Sprintf("admin/%s", form.Provider)) providerItem := application.GetProviderItem(provider.Name) + if !providerItem.IsProviderVisible() { + resp = &Response{Status: "error", Msg: fmt.Sprintf("The provider: %s is not enabled for the application", provider.Name)} + c.Data["json"] = resp + c.ServeJSON() + return + } idProvider := idp.GetIdProvider(provider.Type, provider.ClientId, provider.ClientSecret, form.RedirectUri) if idProvider == nil { - resp = &Response{Status: "error", Msg: fmt.Sprintf("provider: %s does not exist", provider.Type)} + resp = &Response{Status: "error", Msg: fmt.Sprintf("The provider type: %s is not supported", provider.Type)} c.Data["json"] = resp c.ServeJSON() return diff --git a/object/provider_item.go b/object/provider_item.go index c74ddc3b..1e68495a 100644 --- a/object/provider_item.go +++ b/object/provider_item.go @@ -33,10 +33,10 @@ func (application *Application) GetProviderItem(providerName string) *ProviderIt return nil } -func (pi *ProviderItem) isProviderVisible() bool { +func (pi *ProviderItem) IsProviderVisible() bool { return pi.Provider.Category == "OAuth" } func (pi *ProviderItem) isProviderPrompted() bool { - return pi.isProviderVisible() && pi.Prompted + return pi.IsProviderVisible() && pi.Prompted }