mirror of
https://github.com/vmware-tanzu/pinniped.git
synced 2026-09-06 16:17:08 +00:00
authncache: remove namespace concept
Signed-off-by: Monis Khan <mok@vmware.com>
This commit is contained in:
@@ -28,10 +28,9 @@ type Cache struct {
|
||||
}
|
||||
|
||||
type Key struct {
|
||||
APIGroup string
|
||||
Kind string
|
||||
Namespace string
|
||||
Name string
|
||||
APIGroup string
|
||||
Kind string
|
||||
Name string
|
||||
}
|
||||
|
||||
type Value interface {
|
||||
@@ -74,7 +73,6 @@ func (c *Cache) Keys() []Key {
|
||||
sort.Slice(result, func(i, j int) bool {
|
||||
return result[i].APIGroup < result[j].APIGroup ||
|
||||
result[i].Kind < result[j].Kind ||
|
||||
result[i].Namespace < result[j].Namespace ||
|
||||
result[i].Name < result[j].Name
|
||||
})
|
||||
return result
|
||||
@@ -83,9 +81,8 @@ func (c *Cache) Keys() []Key {
|
||||
func (c *Cache) AuthenticateTokenCredentialRequest(ctx context.Context, req *loginapi.TokenCredentialRequest) (user.Info, error) {
|
||||
// Map the incoming request to a cache key.
|
||||
key := Key{
|
||||
Namespace: req.Namespace,
|
||||
Name: req.Spec.Authenticator.Name,
|
||||
Kind: req.Spec.Authenticator.Kind,
|
||||
Name: req.Spec.Authenticator.Name,
|
||||
Kind: req.Spec.Authenticator.Kind,
|
||||
}
|
||||
if req.Spec.Authenticator.APIGroup != nil {
|
||||
key.APIGroup = *req.Spec.Authenticator.APIGroup
|
||||
@@ -95,7 +92,7 @@ func (c *Cache) AuthenticateTokenCredentialRequest(ctx context.Context, req *log
|
||||
if val == nil {
|
||||
plog.Debug(
|
||||
"authenticator does not exist",
|
||||
"authenticator", klog.KRef(key.Namespace, key.Name),
|
||||
"authenticator", klog.KRef("", key.Name),
|
||||
"kind", key.Kind,
|
||||
"apiGroup", key.APIGroup,
|
||||
)
|
||||
|
||||
@@ -31,13 +31,13 @@ func TestCache(t *testing.T) {
|
||||
cache := New()
|
||||
require.NotNil(t, cache)
|
||||
|
||||
key1 := Key{Namespace: "foo", Name: "authenticator-one"}
|
||||
key1 := Key{Name: "authenticator-one"}
|
||||
mockToken1 := mocktokenauthenticator.NewMockToken(ctrl)
|
||||
cache.Store(key1, mockToken1)
|
||||
require.Equal(t, mockToken1, cache.Get(key1))
|
||||
require.Equal(t, 1, len(cache.Keys()))
|
||||
|
||||
key2 := Key{Namespace: "foo", Name: "authenticator-two"}
|
||||
key2 := Key{Name: "authenticator-two"}
|
||||
mockToken2 := mocktokenauthenticator.NewMockToken(ctrl)
|
||||
cache.Store(key2, mockToken2)
|
||||
require.Equal(t, mockToken2, cache.Get(key2))
|
||||
@@ -50,11 +50,10 @@ func TestCache(t *testing.T) {
|
||||
|
||||
// Fill the cache back up with a fixed set of keys, but inserted in shuffled order.
|
||||
keysInExpectedOrder := []Key{
|
||||
{APIGroup: "a", Kind: "a", Namespace: "a", Name: "a"},
|
||||
{APIGroup: "b", Kind: "a", Namespace: "a", Name: "a"},
|
||||
{APIGroup: "b", Kind: "b", Namespace: "a", Name: "a"},
|
||||
{APIGroup: "b", Kind: "b", Namespace: "b", Name: "a"},
|
||||
{APIGroup: "b", Kind: "b", Namespace: "b", Name: "b"},
|
||||
{APIGroup: "a", Kind: "a", Name: "a"},
|
||||
{APIGroup: "b", Kind: "a", Name: "a"},
|
||||
{APIGroup: "b", Kind: "b", Name: "a"},
|
||||
{APIGroup: "b", Kind: "b", Name: "b"},
|
||||
}
|
||||
for tries := 0; tries < 10; tries++ {
|
||||
cache := New()
|
||||
@@ -85,10 +84,9 @@ func TestAuthenticateTokenCredentialRequest(t *testing.T) {
|
||||
Status: loginapi.TokenCredentialRequestStatus{},
|
||||
}
|
||||
validRequestKey := Key{
|
||||
APIGroup: *validRequest.Spec.Authenticator.APIGroup,
|
||||
Kind: validRequest.Spec.Authenticator.Kind,
|
||||
Namespace: validRequest.Namespace,
|
||||
Name: validRequest.Spec.Authenticator.Name,
|
||||
APIGroup: *validRequest.Spec.Authenticator.APIGroup,
|
||||
Kind: validRequest.Spec.Authenticator.Kind,
|
||||
Name: validRequest.Spec.Authenticator.Name,
|
||||
}
|
||||
|
||||
mockCache := func(t *testing.T, res *authenticator.Response, authenticated bool, err error) *Cache {
|
||||
|
||||
Reference in New Issue
Block a user