Skip to content

Commit 5b1f233

Browse files
authored
fix: properly expose static cred provider and fix common runtime initialize (#287)
1 parent b32bf23 commit 5b1f233

File tree

3 files changed

+26
-24
lines changed

3 files changed

+26
-24
lines changed

AWSClientRuntime/Sources/Auth/AWSCredentials.swift

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,21 @@
88
import AwsCommonRuntimeKit
99

1010
public struct AWSCredentials {
11-
let accessKey: String?
12-
let secret: String?
13-
let sessionToken: String?
11+
let accessKey: String
12+
let secret: String
1413
let expirationTimeout: UInt64
14+
let sessionToken: String?
15+
16+
public init(accessKey: String, secret: String, expirationTimeout: UInt64, sessionToken: String? = nil) {
17+
self.accessKey = accessKey
18+
self.secret = secret
19+
self.expirationTimeout = expirationTimeout
20+
self.sessionToken = sessionToken
21+
}
1522
}
1623

1724
extension AWSCredentials {
18-
func toCRTType() -> CRTCredentials? {
19-
guard let accessKey = accessKey,
20-
let secret = secret else {
21-
return nil
22-
}
25+
func toCRTType() -> CRTCredentials {
2326
return CRTCredentials(accessKey: accessKey,
2427
secret: secret,
2528
sessionToken: sessionToken,

AWSClientRuntime/Sources/Auth/AWSCredentialsProvider.swift

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,9 @@ public class AWSCredentialsProvider {
2828
}
2929

3030
public static func fromStatic(_ credentials: AWSCredentials) throws -> AWSCredentialsProvider {
31-
guard let accessKey = credentials.accessKey,
32-
let secret = credentials.secret,
33-
let sessionToken = credentials.sessionToken else {
34-
throw ClientError.authError("Unable to create static credentials provider. Required: accessKey, secret, and sessionToken.")
35-
}
36-
let config = AWSCredentialsProviderStaticConfig(accessKey: accessKey,
37-
secret: secret,
38-
sessionToken: sessionToken)
31+
let config = AWSCredentialsProviderStaticConfig(accessKey: credentials.accessKey,
32+
secret: credentials.secret,
33+
sessionToken: credentials.sessionToken)
3934
let credsProvider = try CRTAWSCredentialsProvider(fromStatic: config.toCRTType())
4035
return AWSCredentialsProvider(awsCredentialsProvider: credsProvider)
4136
}
@@ -55,9 +50,13 @@ public class AWSCredentialsProvider {
5550
public func getCredentials() throws -> AWSCredentials {
5651
let credentials = crtCredentialsProvider.getCredentials()
5752
let result = try credentials.get()
58-
return AWSCredentials(accessKey: result.getAccessKey(),
59-
secret: result.getSecret(),
60-
sessionToken: result.getSessionToken(),
61-
expirationTimeout: result.getExpirationTimeout())
53+
guard let accessKey = result.getAccessKey(),
54+
let secret = result.getSecret() else {
55+
throw ClientError.authError("Unable to get credentials. Required: accessKey, secret.")
56+
}
57+
return AWSCredentials(accessKey: accessKey,
58+
secret: secret,
59+
expirationTimeout: result.getExpirationTimeout(),
60+
sessionToken: result.getSessionToken())
6261
}
6362
}

AWSClientRuntime/Sources/Auth/AWSCredentialsProviderStaticConfig.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ public struct AWSCredentialsProviderStaticConfig {
1414

1515
public let secret: String
1616

17-
public let sessionToken: String
17+
public let sessionToken: String?
1818

1919
public init(accessKey: String,
2020
secret: String,
21-
sessionToken: String,
21+
sessionToken: String? = nil,
2222
shutDownCallback: ShutDownCallback? = nil) {
2323
self.accessKey = accessKey
2424
self.secret = secret
@@ -43,11 +43,11 @@ struct CredentialsProviderStaticConfig: CRTCredentialsProviderStaticConfigOption
4343

4444
var secret: String
4545

46-
var sessionToken: String
46+
var sessionToken: String?
4747

4848
init(accessKey: String,
4949
secret: String,
50-
sessionToken: String,
50+
sessionToken: String? = nil,
5151
shutDownOptions: ShutDownCallback? = nil) {
5252
self.accessKey = accessKey
5353
self.secret = secret

0 commit comments

Comments
 (0)