feat: add cli command to generate app token for user

This commit is contained in:
Thomas Müller
2024-07-23 08:58:07 +02:00
committed by jkoberg
parent 1eb66eb18c
commit 4fa7ea0b20
8 changed files with 137 additions and 2 deletions
+1 -1
View File
@@ -364,7 +364,7 @@ func loadMiddlewares(logger log.Logger, cfg *config.Config, userInfoCache, signi
middleware.CredentialsByUserAgent(cfg.AuthMiddleware.CredentialsByUserAgent),
middleware.Logger(logger),
middleware.OIDCIss(cfg.OIDC.Issuer),
middleware.EnableBasicAuth(cfg.EnableBasicAuth),
middleware.EnableBasicAuth(true),
middleware.TraceProvider(traceProvider),
),
middleware.AccountResolver(
+9 -1
View File
@@ -4,6 +4,8 @@ import (
"net/http"
gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1"
cs3rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
revactx "github.com/cs3org/reva/v2/pkg/ctx"
"github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool"
"github.com/owncloud/ocis/v2/ocis-pkg/log"
)
@@ -31,6 +33,7 @@ func (m AppAuthAuthenticator) Authenticate(r *http.Request) (*http.Request, bool
if err != nil {
return nil, false
}
authenticateResponse, err := next.Authenticate(r.Context(), &gateway.AuthenticateRequest{
Type: "appauth",
ClientId: username,
@@ -39,7 +42,12 @@ func (m AppAuthAuthenticator) Authenticate(r *http.Request) (*http.Request, bool
if err != nil {
return nil, false
}
r.Header.Add(_headerRevaAccessToken, authenticateResponse.GetToken())
if authenticateResponse.GetStatus().GetCode() != cs3rpc.Code_CODE_OK {
// TODO: log???
return nil, false
}
r.Header.Set(revactx.TokenHeader, authenticateResponse.GetToken())
return r, true
}