From b7ebe4127f267924611d6230d50e322a1a330f66 Mon Sep 17 00:00:00 2001 From: Angira Kekteeva Date: Fri, 16 Jul 2021 14:16:11 +0300 Subject: [PATCH] [#164] Change delimiter in acesskeyID Replaced delimiter '_' by '0' Signed-off-by: Angira Kekteeva --- api/auth/center.go | 5 +++-- authmate/authmate.go | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/api/auth/center.go b/api/auth/center.go index f909951..3dccb29 100644 --- a/api/auth/center.go +++ b/api/auth/center.go @@ -20,7 +20,8 @@ import ( "go.uber.org/zap" ) -var authorizationFieldRegexp = regexp.MustCompile(`AWS4-HMAC-SHA256 Credential=(?P[^/]+)_(?P[^/]+)/(?P[^/]+)/(?P[^/]*)/(?P[^/]+)/aws4_request,\s*SignedHeaders=(?P.+),\s*Signature=(?P.+)`) +// authorizationFieldRegexp -- is regexp for credentials with Base58 encoded cid and oid and '0' (zero) as delimiter. +var authorizationFieldRegexp = regexp.MustCompile(`AWS4-HMAC-SHA256 Credential=(?P[^/]+)0(?P[^/]+)/(?P[^/]+)/(?P[^/]*)/(?P[^/]+)/aws4_request,\s*SignedHeaders=(?P.+),\s*Signature=(?P.+)`) type ( // Center is a user authentication interface. @@ -89,7 +90,7 @@ func (c *center) Authenticate(r *http.Request) (*accessbox.GateData, error) { return nil, fmt.Errorf("failed to parse x-amz-date header field: %w", err) } - accessKeyID := fmt.Sprintf("%s_%s", sms1["access_key_id_cid"], sms1["access_key_id_oid"]) + accessKeyID := fmt.Sprintf("%s0%s", sms1["access_key_id_cid"], sms1["access_key_id_oid"]) accessKeyAddress := fmt.Sprintf("%s/%s", sms1["access_key_id_cid"], sms1["access_key_id_oid"]) address := object.NewAddress() diff --git a/authmate/authmate.go b/authmate/authmate.go index 58ab058..510caac 100644 --- a/authmate/authmate.go +++ b/authmate/authmate.go @@ -179,7 +179,7 @@ func (a *Agent) IssueSecret(ctx context.Context, w io.Writer, options *IssueSecr return fmt.Errorf("failed to put bearer token: %w", err) } - accessKeyID := address.ContainerID().String() + "_" + address.ObjectID().String() + accessKeyID := address.ContainerID().String() + "0" + address.ObjectID().String() ir := &issuingResult{ AccessKeyID: accessKeyID,