@@ -23,6 +23,7 @@ import (
|
|||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
"go.gearno.de/kit/log"
|
"go.gearno.de/kit/log"
|
||||||
"go.probo.inc/probo/pkg/baseurl"
|
"go.probo.inc/probo/pkg/baseurl"
|
||||||
|
"go.probo.inc/probo/pkg/gid"
|
||||||
"go.probo.inc/probo/pkg/iam"
|
"go.probo.inc/probo/pkg/iam"
|
||||||
"go.probo.inc/probo/pkg/securecookie"
|
"go.probo.inc/probo/pkg/securecookie"
|
||||||
"go.probo.inc/probo/pkg/server/api/authn"
|
"go.probo.inc/probo/pkg/server/api/authn"
|
||||||
@@ -66,3 +67,7 @@ func NewMux(logger *log.Logger, svc *iam.Service, cookieConfig securecookie.Conf
|
|||||||
func (r *Resolver) Permission(ctx context.Context, obj types.Node, action string) (bool, error) {
|
func (r *Resolver) Permission(ctx context.Context, obj types.Node, action string) (bool, error) {
|
||||||
return r.authorize(ctx, obj.GetID(), action) == nil, nil
|
return r.authorize(ctx, obj.GetID(), action) == nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Resolver) SSOLoginURL(samlConfigID gid.GID) string {
|
||||||
|
return r.baseURL.WithPath("/api/connect/v1/saml/2.0/" + samlConfigID.String()).MustString()
|
||||||
|
}
|
||||||
|
|||||||
@@ -194,13 +194,13 @@ func (r *identityResolver) SsoLoginURL(ctx context.Context, obj *types.Identity)
|
|||||||
return nil, gqlutils.Internal(ctx)
|
return nil, gqlutils.Internal(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
samlConfig := samlConfigs[0]
|
if len(samlConfigs) == 0 {
|
||||||
if samlConfig == nil {
|
|
||||||
r.logger.ErrorCtx(ctx, "cannot find SAML config")
|
r.logger.ErrorCtx(ctx, "cannot find SAML config")
|
||||||
return nil, gqlutils.NotFoundf(ctx, "cannot find SAML config")
|
return nil, gqlutils.NotFoundf(ctx, "cannot find SAML config")
|
||||||
}
|
}
|
||||||
|
samlConfig := samlConfigs[0]
|
||||||
|
|
||||||
loginURL := r.baseURL.WithPath("/api/connect/v1/saml/2.0/" + samlConfig.ID.String()).MustString()
|
loginURL := r.SSOLoginURL(samlConfig.ID)
|
||||||
return &loginURL, nil
|
return &loginURL, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1757,7 +1757,8 @@ func (r *queryResolver) SsoLoginURL(ctx context.Context, email mail.Addr) (*stri
|
|||||||
}
|
}
|
||||||
|
|
||||||
samlConfig := samlConfigs[0]
|
samlConfig := samlConfigs[0]
|
||||||
loginURL := r.baseURL.WithPath("/api/connect/v1/saml/2.0/" + samlConfig.ID.String()).MustString()
|
loginURL := r.SSOLoginURL(samlConfig.ID)
|
||||||
|
|
||||||
return &loginURL, nil
|
return &loginURL, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user