This is an automated email from the ASF dual-hosted git repository.
starsz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git
The following commit(s) were added to refs/heads/master by this push:
new 95566d5f5 feat: Add config struct of OpenID-Connect Login (#2597)
95566d5f5 is described below
commit 95566d5f5f818e02d8c8d9caf5f2ac90e1e603b5
Author: Cosette <[email protected]>
AuthorDate: Mon Aug 29 10:24:48 2022 +0800
feat: Add config struct of OpenID-Connect Login (#2597)
Co-authored-by: wangglb
<[email protected]>
Co-authored-by: Wang Zichen <[email protected]>
---
api/conf/conf.yaml | 8 ++++++++
api/internal/conf/conf.go | 18 ++++++++++++++++++
api/internal/filter/invalid_request.go | 5 +----
.../handler/data_loader/loader/openapi3/import.go | 3 +--
4 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/api/conf/conf.yaml b/api/conf/conf.yaml
index 012147ee6..ac9377a98 100644
--- a/api/conf/conf.yaml
+++ b/api/conf/conf.yaml
@@ -80,6 +80,14 @@ authentication:
- username: user
password: user
+oidc:
+ expire_time: 3600
+ app_name: authing
+ client_id:
+ client_secret:
+ scope: oidc
+ redirect_uri: oidc/callback
+
plugins: # plugin list (sorted in alphabetical order)
- api-breaker
- authz-keycloak
diff --git a/api/internal/conf/conf.go b/api/internal/conf/conf.go
index 20074238f..7e5c8e35e 100644
--- a/api/internal/conf/conf.go
+++ b/api/internal/conf/conf.go
@@ -58,6 +58,7 @@ var (
AccessLogPath = "logs/access.log"
UserList = make(map[string]User, 2)
AuthConf Authentication
+ OidcConf Oidc
SSLDefaultStatus = 1 //enable ssl by default
ImportSizeLimit = 10 * 1024 * 1024
AllowList []string
@@ -126,10 +127,20 @@ type Authentication struct {
Users []User
}
+type Oidc struct {
+ ExpireTime int `mapstructure:"expire_time" yaml:"expire_time"`
+ AppName string `mapstructure:"app_name"`
+ ClientId string `mapstructure:"client_id"`
+ ClientSecret string `mapstructure:"client_secret"`
+ Scope string
+ RedirectUri string `mapstructure:"redirect_uri"`
+}
+
type Config struct {
Conf Conf
Authentication Authentication
Plugins []string
+ Oidc Oidc
}
type Security struct {
@@ -256,6 +267,9 @@ func setupConfig() {
// set authentication
initAuthentication(config.Authentication)
+ //set Oidc
+ initOidc(config.Oidc)
+
// set plugin
initPlugins(config.Plugins)
@@ -283,6 +297,10 @@ func initAuthentication(conf Authentication) {
}
}
+func initOidc(conf Oidc) {
+ OidcConf = conf
+}
+
func initPlugins(plugins []string) {
for _, pluginName := range plugins {
Plugins[pluginName] = true
diff --git a/api/internal/filter/invalid_request.go
b/api/internal/filter/invalid_request.go
index 8c1ebc5cc..442fccd4a 100644
--- a/api/internal/filter/invalid_request.go
+++ b/api/internal/filter/invalid_request.go
@@ -34,8 +34,5 @@ func InvalidRequest() gin.HandlerFunc {
}
func checkURL(url *url.URL) bool {
- if strings.Contains(url.Path, "..") {
- return false
- }
- return true
+ return !strings.Contains(url.Path, "..")
}
diff --git a/api/internal/handler/data_loader/loader/openapi3/import.go
b/api/internal/handler/data_loader/loader/openapi3/import.go
index 8ff332a72..e1bcf9dbc 100644
--- a/api/internal/handler/data_loader/loader/openapi3/import.go
+++ b/api/internal/handler/data_loader/loader/openapi3/import.go
@@ -75,8 +75,7 @@ func (o Loader) convertToEntities(s *openapi3.Swagger)
(*loader.DataSets, error)
// create upstream when servers field not empty
if len(s.Servers) > 0 {
- var upstream entity.Upstream
- upstream = entity.Upstream{
+ upstream := entity.Upstream{
BaseInfo: entity.BaseInfo{ID: globalUpstreamID},
UpstreamDef: entity.UpstreamDef{
Name: globalUpstreamID,