Identity: Remove typed id (#91801)

* Refactor identity struct to store type in separate field

* Update ResolveIdentity to take string representation of typedID

* Add IsIdentityType to requester interface

* Use IsIdentityType from interface

* Remove usage of TypedID

* Remote typedID struct

* fix GetInternalID
This commit is contained in:
Karl Persson
2024-08-13 10:18:28 +02:00
committed by GitHub
parent 0258842f87
commit 8bcd9c2594
72 changed files with 530 additions and 521 deletions
+12 -8
View File
@@ -8,7 +8,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/apimachinery/identity"
"github.com/grafana/authlib/claims"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/anonymous/anontest"
"github.com/grafana/grafana/pkg/services/authn"
@@ -60,7 +60,7 @@ func TestAnonymous_Authenticate(t *testing.T) {
} else {
require.Nil(t, err)
assert.Equal(t, identity.AnonymousTypedID, user.ID)
assert.Equal(t, "anonymous:0", user.GetID())
assert.Equal(t, tt.org.ID, user.OrgID)
assert.Equal(t, tt.org.Name, user.OrgName)
assert.Equal(t, tt.cfg.AnonymousOrgRole, string(user.GetOrgRole()))
@@ -74,7 +74,8 @@ func TestAnonymous_ResolveIdentity(t *testing.T) {
desc string
cfg *setting.Cfg
orgID int64
namespaceID identity.TypedID
typ claims.IdentityType
id string
org *org.Org
orgErr error
expectedErr error
@@ -88,7 +89,8 @@ func TestAnonymous_ResolveIdentity(t *testing.T) {
AnonymousOrgName: "some org",
},
orgID: 1,
namespaceID: identity.AnonymousTypedID,
typ: claims.TypeAnonymous,
id: "0",
expectedErr: errInvalidOrg,
},
{
@@ -98,7 +100,8 @@ func TestAnonymous_ResolveIdentity(t *testing.T) {
AnonymousOrgName: "some org",
},
orgID: 1,
namespaceID: identity.MustParseTypedID("anonymous:1"),
typ: claims.TypeAnonymous,
id: "1",
expectedErr: errInvalidID,
},
{
@@ -107,8 +110,9 @@ func TestAnonymous_ResolveIdentity(t *testing.T) {
cfg: &setting.Cfg{
AnonymousOrgName: "some org",
},
orgID: 1,
namespaceID: identity.AnonymousTypedID,
orgID: 1,
typ: claims.TypeAnonymous,
id: "0",
},
}
@@ -121,7 +125,7 @@ func TestAnonymous_ResolveIdentity(t *testing.T) {
anonDeviceService: anontest.NewFakeService(),
}
identity, err := c.ResolveIdentity(context.Background(), tt.orgID, tt.namespaceID)
identity, err := c.ResolveIdentity(context.Background(), tt.orgID, tt.typ, tt.id)
if tt.expectedErr != nil {
assert.ErrorIs(t, err, tt.expectedErr)
assert.Nil(t, identity)