mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-28 23:37:23 +00:00
fix: add workaround for org check (if projection is not up-to-date) (#2800)
This commit is contained in:
parent
303d4945a7
commit
211dc7c21f
@ -2,6 +2,7 @@ package authz
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/caos/zitadel/internal/api/grpc"
|
"github.com/caos/zitadel/internal/api/grpc"
|
||||||
http_util "github.com/caos/zitadel/internal/api/http"
|
http_util "github.com/caos/zitadel/internal/api/http"
|
||||||
@ -62,13 +63,6 @@ func VerifyTokenAndCreateCtxData(ctx context.Context, token, orgID string, t *To
|
|||||||
ctx, span := tracing.NewSpan(ctx)
|
ctx, span := tracing.NewSpan(ctx)
|
||||||
defer func() { span.EndWithError(err) }()
|
defer func() { span.EndWithError(err) }()
|
||||||
|
|
||||||
if orgID != "" {
|
|
||||||
err = t.ExistsOrg(ctx, orgID)
|
|
||||||
if err != nil {
|
|
||||||
return CtxData{}, errors.ThrowPermissionDenied(nil, "AUTH-Bs7Ds", "Organisation doesn't exist")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
userID, clientID, agentID, prefLang, resourceOwner, err := verifyAccessToken(ctx, token, t, method)
|
userID, clientID, agentID, prefLang, resourceOwner, err := verifyAccessToken(ctx, token, t, method)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return CtxData{}, err
|
return CtxData{}, err
|
||||||
@ -87,6 +81,21 @@ func VerifyTokenAndCreateCtxData(ctx context.Context, token, orgID string, t *To
|
|||||||
if orgID == "" {
|
if orgID == "" {
|
||||||
orgID = resourceOwner
|
orgID = resourceOwner
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = t.ExistsOrg(ctx, orgID)
|
||||||
|
if err != nil {
|
||||||
|
for i := 0; i < 3; i++ { //TODO: workaround if org projection is not yet up-to-date
|
||||||
|
time.Sleep(500 * time.Millisecond)
|
||||||
|
err := t.ExistsOrg(ctx, orgID)
|
||||||
|
if err == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
return CtxData{}, errors.ThrowPermissionDenied(nil, "AUTH-Bs7Ds", "Organisation doesn't exist")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return CtxData{
|
return CtxData{
|
||||||
UserID: userID,
|
UserID: userID,
|
||||||
OrgID: orgID,
|
OrgID: orgID,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user