Skip to content

Commit 7017cd1

Browse files
authored
fix: apply optionalAuth backfill to missed cognitoidp methods (#875)
1 parent 21b0719 commit 7017cd1

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"id": "6e070bba-66c4-4f36-abab-8fce291db3cc",
3+
"type": "bugfix",
4+
"description": "Ensure all unsigned operations are accessible without credentials in CognitoIdentityProvider.",
5+
"issues": [
6+
"awslabs/aws-sdk-kotlin#874"
7+
]
8+
}

codegen/smithy-aws-kotlin-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/BackfillOptionalAuth.kt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package aws.sdk.kotlin.codegen.customization
88
import software.amazon.smithy.codegen.core.CodegenException
99
import software.amazon.smithy.kotlin.codegen.KotlinSettings
1010
import software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration
11+
import software.amazon.smithy.kotlin.codegen.model.hasTrait
1112
import software.amazon.smithy.model.Model
1213
import software.amazon.smithy.model.shapes.OperationShape
1314
import software.amazon.smithy.model.traits.OptionalAuthTrait
@@ -35,13 +36,32 @@ class BackfillOptionalAuth : KotlinIntegration {
3536
),
3637
// https://docs.aws.amazon.com/cognito/latest/developerguide/security_iam_service-with-iam.html
3738
"com.amazonaws.cognitoidentityprovider#AWSCognitoIdentityProviderService" to setOf(
39+
"com.amazonaws.cognitoidentityprovider#AssociateSoftwareToken",
40+
"com.amazonaws.cognitoidentityprovider#ChangePassword",
3841
"com.amazonaws.cognitoidentityprovider#ConfirmDevice",
42+
"com.amazonaws.cognitoidentityprovider#ConfirmForgotPassword",
43+
"com.amazonaws.cognitoidentityprovider#ConfirmSignUp",
44+
"com.amazonaws.cognitoidentityprovider#DeleteUser",
45+
"com.amazonaws.cognitoidentityprovider#DeleteUserAttributes",
3946
"com.amazonaws.cognitoidentityprovider#ForgetDevice",
47+
"com.amazonaws.cognitoidentityprovider#ForgotPassword",
4048
"com.amazonaws.cognitoidentityprovider#GetDevice",
49+
"com.amazonaws.cognitoidentityprovider#GetUser",
50+
"com.amazonaws.cognitoidentityprovider#GetUserAttributeVerificationCode",
4151
"com.amazonaws.cognitoidentityprovider#GlobalSignOut",
52+
"com.amazonaws.cognitoidentityprovider#InitiateAuth",
4253
"com.amazonaws.cognitoidentityprovider#ListDevices",
54+
"com.amazonaws.cognitoidentityprovider#ResendConfirmationCode",
55+
"com.amazonaws.cognitoidentityprovider#RespondToAuthChallenge",
4356
"com.amazonaws.cognitoidentityprovider#RevokeToken",
57+
"com.amazonaws.cognitoidentityprovider#SetUserMFAPreference",
58+
"com.amazonaws.cognitoidentityprovider#SetUserSettings",
59+
"com.amazonaws.cognitoidentityprovider#SignUp",
60+
"com.amazonaws.cognitoidentityprovider#UpdateAuthEventFeedback",
4461
"com.amazonaws.cognitoidentityprovider#UpdateDeviceStatus",
62+
"com.amazonaws.cognitoidentityprovider#UpdateUserAttributes",
63+
"com.amazonaws.cognitoidentityprovider#VerifySoftwareToken",
64+
"com.amazonaws.cognitoidentityprovider#VerifyUserAttribute",
4565
),
4666
)
4767

@@ -58,7 +78,7 @@ class BackfillOptionalAuth : KotlinIntegration {
5878
val optionalAuthOperations = disabledAuthOperationsByService[serviceId] ?: throw CodegenException("expected $serviceId in disabled operations map")
5979
return ModelTransformer.create()
6080
.mapShapes(model) {
61-
if (optionalAuthOperations.contains(it.id.toString()) && it is OperationShape) {
81+
if (optionalAuthOperations.contains(it.id.toString()) && it is OperationShape && !it.hasTrait<OptionalAuthTrait>()) {
6282
it.toBuilder().addTrait(OptionalAuthTrait()).build()
6383
} else {
6484
it

0 commit comments

Comments
 (0)