Skip to content

Commit 3d36a9f

Browse files
committed
fix: dont write the token config as a secret
1 parent 6a03020 commit 3d36a9f

7 files changed

+9
-23
lines changed

entry_config.go

-13
Original file line numberDiff line numberDiff line change
@@ -136,19 +136,6 @@ func (e *EntryConfig) UpdateFromFieldData(data *framework.FieldData) (warnings [
136136
return warnings, err
137137
}
138138

139-
func (e *EntryConfig) Response() *logical.Response {
140-
return &logical.Response{
141-
Secret: &logical.Secret{
142-
LeaseOptions: logical.LeaseOptions{},
143-
InternalData: map[string]any{
144-
"token_id": e.TokenId,
145-
"token": e.Token,
146-
},
147-
},
148-
Data: e.LogicalResponseData(),
149-
}
150-
}
151-
152139
func (e *EntryConfig) LogicalResponseData() map[string]any {
153140
var tokenExpiresAt, tokenCreatedAt = "", ""
154141
if !e.TokenExpiresAt.IsZero() {

path_config.go

-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ func (b *Backend) pathConfigPatch(ctx context.Context, req *logical.Request, dat
149149
}
150150

151151
return lResp, err
152-
153152
}
154153

155154
func (b *Backend) updateConfigClientInfo(ctx context.Context, config *EntryConfig) (et *EntryToken, err error) {

path_config_list.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ func (b *Backend) pathConfigList(ctx context.Context, req *logical.Request, data
5353
if err == nil {
5454
lResp = logical.ListResponse(configs)
5555
}
56-
b.Logger().Debug("Available configs input the system", "configs", configs)
56+
b.Logger().Debug("Available", "configs", configs)
5757
return lResp, err
5858
}

path_config_rotate.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,11 @@ func (b *Backend) checkAndRotateConfigToken(ctx context.Context, request *logica
5757
return err
5858
}
5959

60-
func (b *Backend) pathConfigTokenRotate(ctx context.Context, request *logical.Request, data *framework.FieldData) (*logical.Response, error) {
60+
func (b *Backend) pathConfigTokenRotate(ctx context.Context, request *logical.Request, data *framework.FieldData) (lResp *logical.Response, err error) {
6161
var name = data.Get("config_name").(string)
6262
b.Logger().Debug("Running pathConfigTokenRotate")
6363
var config *EntryConfig
6464
var client Client
65-
var err error
6665

6766
b.lockClientMutex.RLock()
6867
if config, err = getConfig(ctx, request.Storage, name); err != nil {
@@ -105,6 +104,8 @@ func (b *Backend) pathConfigTokenRotate(ctx context.Context, request *logical.Re
105104
return nil, err
106105
}
107106

107+
lResp = &logical.Response{Data: config.LogicalResponseData()}
108+
lResp.Data["token"] = config.Token
108109
event(ctx, b.Backend, "config-token-rotate", map[string]string{
109110
"path": fmt.Sprintf("%s/%s", PathConfigStorage, name),
110111
"expires_at": entryToken.ExpiresAt.Format(time.RFC3339),
@@ -115,5 +116,5 @@ func (b *Backend) pathConfigTokenRotate(ctx context.Context, request *logical.Re
115116
})
116117

117118
b.SetClient(nil, name)
118-
return config.Response(), nil
119+
return lResp, err
119120
}

path_config_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ func TestPathConfig(t *testing.T) {
7676
assert.NotEmpty(t, resp.Data["token_sha1_hash"])
7777
assert.NotEmpty(t, resp.Data["base_url"])
7878
require.Len(t, events.eventsProcessed, 1)
79+
require.Empty(t, resp.Data["token"])
7980

8081
resp, err = b.HandleRequest(ctx, &logical.Request{
8182
Operation: logical.DeleteOperation,

path_role.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func (b *Backend) pathRolesList(ctx context.Context, req *logical.Request, data
108108
if err != nil {
109109
return logical.ErrorResponse("Error listing roles"), err
110110
}
111-
b.Logger().Debug("Available roles input the system", "roles", roles)
111+
b.Logger().Debug("Available", "roles", roles)
112112
return logical.ListResponse(roles), nil
113113
}
114114

with_gitlab_com_user_rotate_token_test.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,8 @@ func TestWithGitlabUser_RotateToken(t *testing.T) {
5252
require.NotNil(t, resp)
5353
require.NotEqualValues(t, resp.Data["token"], gitlabComPersonalAccessToken)
5454
oldToken = gitlabComPersonalAccessToken
55-
require.NotNil(t, resp.Secret)
56-
require.NotNil(t, resp.Secret.InternalData)
57-
require.NotEmpty(t, resp.Secret.InternalData["token"])
58-
newToken = resp.Secret.InternalData["token"].(string)
55+
newToken = resp.Data["token"].(string)
56+
require.Nil(t, resp.Secret) // This must not be a secret
5957
}
6058

6159
// Old token should not have access anymore

0 commit comments

Comments
 (0)