@@ -113,11 +113,27 @@ func getAccountPolicy(ctx context.Context, client MinioAdmin) (*iampolicy.Policy
113
113
}
114
114
115
115
// getConsoleCredentials will return consoleCredentials interface including the associated policy of the current account
116
- func getConsoleCredentials (ctx context.Context , accessKey , secretKey , sessionToken string ) (* consoleCredentials , error ) {
116
+ func getConsoleCredentials (ctx context.Context , accessKey , secretKey string ) (* consoleCredentials , error ) {
117
+ creds , err := newConsoleCredentials (accessKey , secretKey , MinioRegion )
118
+ if err != nil {
119
+ return nil , err
120
+ }
121
+ // cCredentials will be sts credentials, account credentials will be need it in the scenario the user wish
122
+ // to change its password
123
+ cCredentials := & consoleCredentials {
124
+ consoleCredentials : creds ,
125
+ accountAccessKey : accessKey ,
126
+ accountSecretKey : secretKey ,
127
+ }
128
+ tokens , err := cCredentials .Get ()
129
+ if err != nil {
130
+ return nil , err
131
+ }
132
+ // initialize admin client
117
133
mAdminClient , err := newMAdminClient (& models.Principal {
118
- STSAccessKeyID : accessKey ,
119
- STSSecretAccessKey : secretKey ,
120
- STSSessionToken : sessionToken ,
134
+ STSAccessKeyID : tokens . AccessKeyID ,
135
+ STSSecretAccessKey : tokens . SecretAccessKey ,
136
+ STSSessionToken : tokens . SessionToken ,
121
137
})
122
138
if err != nil {
123
139
return nil , err
@@ -137,25 +153,16 @@ func getConsoleCredentials(ctx context.Context, accessKey, secretKey, sessionTok
137
153
if policy != nil {
138
154
actions = acl .GetActionsStringFromPolicy (policy )
139
155
}
140
- credentials , err := newConsoleCredentials (accessKey , secretKey , MinioRegion )
141
- if err != nil {
142
- return nil , err
143
- }
144
- // consoleCredentials will be sts credentials, account credentials will be need it in the scenario the user wish
145
- return & consoleCredentials {
146
- consoleCredentials : credentials ,
147
- accountAccessKey : accessKey ,
148
- accountSecretKey : secretKey ,
149
- actions : actions ,
150
- }, nil
156
+ cCredentials .actions = actions
157
+ return cCredentials , nil
151
158
}
152
159
153
160
// getLoginResponse performs login() and serializes it to the handler's output
154
161
func getLoginResponse (lr * models.LoginRequest ) (* models.LoginResponse , * models.Error ) {
155
162
ctx , cancel := context .WithTimeout (context .Background (), 20 * time .Second )
156
163
defer cancel ()
157
164
// prepare console credentials
158
- consolCreds , err := getConsoleCredentials (ctx , * lr .AccessKey , * lr .SecretKey , "" )
165
+ consolCreds , err := getConsoleCredentials (ctx , * lr .AccessKey , * lr .SecretKey )
159
166
if err != nil {
160
167
return nil , prepareError (errInvalidCredentials , nil , err )
161
168
}
0 commit comments