feat #31: add mock connector #2

Merged
faercol merged 1 commit from add-mock-connector into main 2023-10-21 20:16:05 +00:00
2 changed files with 39 additions and 2 deletions
Showing only changes of commit 8e2b9b859a - Show all commits

View file

@ -0,0 +1,25 @@
package connector
import (
"fmt"
"net/http"
"github.com/dexidp/dex/connector"
"github.com/dexidp/dex/pkg/log"
)
type RefuseAllConfig struct{}
func (c *RefuseAllConfig) Open(id string, logger log.Logger) (connector.Connector, error) {
return &RefuseAllConnector{}, nil
}
type RefuseAllConnector struct{}
func (m *RefuseAllConnector) LoginURL(s connector.Scopes, callbackURL, state string) (string, error) {
return "", fmt.Errorf("you shouldn't use this function")
}
func (m *RefuseAllConnector) HandleCallback(s connector.Scopes, r *http.Request) (identity connector.Identity, err error) {
return connector.Identity{}, fmt.Errorf("you shouldn't use this function")
}

View file

@ -9,6 +9,7 @@ import (
"time"
"git.faercol.me/faercol/polyculeconnect/polyculeconnect/config"
"git.faercol.me/faercol/polyculeconnect/polyculeconnect/connector"
"git.faercol.me/faercol/polyculeconnect/polyculeconnect/logger"
"git.faercol.me/faercol/polyculeconnect/polyculeconnect/server"
dex_server "github.com/dexidp/dex/server"
@ -61,10 +62,21 @@ func main() {
}
logger.L.Info("Initializing authentication backends")
dex_server.ConnectorsConfig["refuseAll"] = func() dex_server.ConnectorConfig { return new(connector.RefuseAllConfig) }
if err := dexConf.Storage.CreateConnector(storage.Connector{
ID: "null",
Name: "RefuseAll",
Type: "refuseAll",
Config: nil,
}); err != nil {
logger.L.Errorf("Failed to add connector for backend RefuseAll to stage: %s", err.Error())
}
for _, backend := range conf.OpenConnectConfig.BackendConfigs {
backendConfJson, err := json.Marshal(backend.Config)
if err != nil {
logger.L.Errorf("Failed to serialize oidc config for backend %q: %s", backend.Name, err)
logger.L.Errorf("Failed to serialize oidc config for backend %q: %s", backend.Name, err.Error())
continue
}
if err := dexConf.Storage.CreateConnector(storage.Connector{
@ -73,7 +85,7 @@ func main() {
Type: backend.Type,
Config: backendConfJson,
}); err != nil {
logger.L.Errorf("Failed to add connector for backend %q to stage: %s", backend.Name, err)
logger.L.Errorf("Failed to add connector for backend %q to stage: %s", backend.Name, err.Error())
continue
}
}