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

@@ -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")