mirror of
https://github.com/minio/minio.git
synced 2025-11-07 21:02:58 -05:00
Add auth rpc service to generate access keys, add corresponding test
This commit is contained in:
@@ -26,26 +26,24 @@ var alphaNumericTable = []byte("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
||||
|
||||
// GenerateAccessKeyID - generate random alpha numeric value using only uppercase characters
|
||||
// takes input as size in integer
|
||||
func GenerateAccessKeyID(size int) ([]byte, error) {
|
||||
alpha := make([]byte, size)
|
||||
func GenerateAccessKeyID() ([]byte, error) {
|
||||
alpha := make([]byte, MinioAccessID)
|
||||
_, err := rand.Read(alpha)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for i := 0; i < size; i++ {
|
||||
for i := 0; i < MinioAccessID; i++ {
|
||||
alpha[i] = alphaNumericTable[alpha[i]%byte(len(alphaNumericTable))]
|
||||
}
|
||||
return alpha, nil
|
||||
}
|
||||
|
||||
// GenerateSecretAccessKey - generate random base64 numeric value from a random seed.
|
||||
func GenerateSecretAccessKey(size int) ([]byte, error) {
|
||||
rb := make([]byte, size)
|
||||
func GenerateSecretAccessKey() ([]byte, error) {
|
||||
rb := make([]byte, MinioSecretID)
|
||||
_, err := rand.Read(rb)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return []byte(base64.StdEncoding.EncodeToString(rb))[:size], nil
|
||||
return []byte(base64.StdEncoding.EncodeToString(rb))[:MinioSecretID], nil
|
||||
}
|
||||
|
||||
@@ -30,10 +30,10 @@ type MySuite struct{}
|
||||
var _ = Suite(&MySuite{})
|
||||
|
||||
func (s *MySuite) TestAuth(c *C) {
|
||||
secretID, err := auth.GenerateSecretAccessKey(auth.MinioSecretID)
|
||||
secretID, err := auth.GenerateSecretAccessKey()
|
||||
c.Assert(err, IsNil)
|
||||
|
||||
accessID, err := auth.GenerateAccessKeyID(auth.MinioAccessID)
|
||||
accessID, err := auth.GenerateAccessKeyID()
|
||||
c.Assert(err, IsNil)
|
||||
|
||||
c.Assert(len(secretID), Equals, auth.MinioSecretID)
|
||||
|
||||
Reference in New Issue
Block a user