Fix not token secret

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2025-12-29 11:45:49 +01:00
parent 1cdf005087
commit 63abfe3698
6 changed files with 10 additions and 12 deletions

View File

@@ -426,6 +426,7 @@ func (impl *Implm) Run(
BaseURL: impl.cfg.BaseURL,
Agent: agent,
CustomDomainCname: impl.cfg.CustomDomains.CnameTarget,
TokenSecret: impl.cfg.Auth.Cookie.Secret,
Logger: l.Named("http.server"),
Cookie: securecookie.Config{
Name: impl.cfg.Auth.Cookie.Name,

View File

@@ -133,6 +133,7 @@ func NewServer(cfg Config) (*Server, error) {
cfg.Logger.Named("mcp.v1"),
cfg.Probo,
cfg.IAM,
cfg.TokenSecret,
),
slackHandler: slack_v1.NewMux(
cfg.Logger.Named("slack.v1"),
@@ -143,6 +144,7 @@ func NewServer(cfg Config) (*Server, error) {
cfg.Logger.Named("connect.v1"),
cfg.IAM,
cfg.Cookie,
cfg.TokenSecret,
cfg.BaseURL,
),
}, nil

View File

@@ -36,13 +36,13 @@ func APIKeyFromContext(ctx context.Context) *coredata.PersonalAPIKey {
return apiKey
}
func NewAPIKeyMiddleware(svc *iam.Service) func(next http.Handler) http.Handler {
func NewAPIKeyMiddleware(svc *iam.Service, tokenSecret string) func(next http.Handler) http.Handler {
return func(next http.Handler) http.Handler {
return http.HandlerFunc(
func(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
tokenValue, err := securetoken.Get(r, "")
tokenValue, err := securetoken.Get(r, tokenSecret)
if err != nil {
next.ServeHTTP(w, r)
return

View File

@@ -82,7 +82,7 @@ func NewMux(
safeRedirect := &saferedirect.SafeRedirect{AllowedHost: baseURL.Host()}
r.Use(connect_v1.NewSessionMiddleware(iamSvc, cookieConfig))
r.Use(connect_v1.NewAPIKeyMiddleware(iamSvc))
r.Use(connect_v1.NewAPIKeyMiddleware(iamSvc, tokenSecret))
config := schema.Config{
Resolvers: &Resolver{
@@ -317,13 +317,6 @@ func (r *Resolver) ProboService(ctx context.Context, tenantID gid.TenantID) *pro
func (r *Resolver) MustAuthorize(ctx context.Context, entityID gid.GID, action iam.Action) {
identity := connect_v1.IdentityFromContext(ctx)
// TODO: Add API key authorization
// apiKey := connect_v1.APIKeyFromContext(ctx)
// var credentialID *gid.GID
// if apiKey != nil {
// credentialID = &apiKey.ID
// }
err := r.iam.Authorizer.Authorize(
ctx,

View File

@@ -20,7 +20,7 @@ func (r *Resolver) ProboService(ctx context.Context, objectID gid.GID) *probo.Te
return r.proboSvc.WithTenant(objectID.TenantID())
}
func NewMux(logger *log.Logger, proboSvc *probo.Service, iamSvc *iam.Service) *chi.Mux {
func NewMux(logger *log.Logger, proboSvc *probo.Service, iamSvc *iam.Service, tokenSecret string) *chi.Mux {
logger = logger.Named("mcp.v1")
logger.Info("initializing MCP server")
@@ -52,7 +52,7 @@ func NewMux(logger *log.Logger, proboSvc *probo.Service, iamSvc *iam.Service) *c
)
r := chi.NewMux()
r.Use(connect_v1.NewAPIKeyMiddleware(iamSvc))
r.Use(connect_v1.NewAPIKeyMiddleware(iamSvc, tokenSecret))
r.Handle("/", RequireAPIKeyHandler(logger, handler))
logger.Info("MCP server initialized successfully")

View File

@@ -47,6 +47,7 @@ type Config struct {
Trust *trust.Service
Slack *slack.Service
Cookie securecookie.Config
TokenSecret string
ConnectorRegistry *connector.ConnectorRegistry
Agent *agents.Agent
CustomDomainCname string
@@ -72,6 +73,7 @@ func NewServer(cfg Config) (*Server, error) {
Trust: cfg.Trust,
Slack: cfg.Slack,
Cookie: cfg.Cookie,
TokenSecret: cfg.TokenSecret,
ConnectorRegistry: cfg.ConnectorRegistry,
CustomDomainCname: cfg.CustomDomainCname,
Logger: cfg.Logger.Named("api"),