You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add AllowAnyUser annotation and wildcards in access annotations (#3213)
* Add AllowAnyUser annotation and wildcards in access annotations
* Move to explicit boolean for allowAny*
* Add missing test cases, cleanup AllowAnyUser annotation
* Update API
* Accept breaking API change
---------
Co-authored-by: Alex Szlavik <[email protected]>
Copy file name to clipboardexpand all lines: misk/api/misk.api
+10-4
Original file line number
Diff line number
Diff line change
@@ -948,13 +948,19 @@ public final class misk/security/authz/AccessAnnotationEntry {
948
948
public fun <init> (Lkotlin/reflect/KClass;)V
949
949
public fun <init> (Lkotlin/reflect/KClass;Ljava/util/List;)V
950
950
public fun <init> (Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;)V
951
-
public synthetic fun <init> (Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
951
+
public fun <init> (Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;Z)V
952
+
public fun <init> (Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;ZZ)V
953
+
public synthetic fun <init> (Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V
952
954
public final fun component1 ()Lkotlin/reflect/KClass;
953
955
public final fun component2 ()Ljava/util/List;
954
956
public final fun component3 ()Ljava/util/List;
955
-
public final fun copy (Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;)Lmisk/security/authz/AccessAnnotationEntry;
956
-
public static synthetic fun copy$default (Lmisk/security/authz/AccessAnnotationEntry;Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;ILjava/lang/Object;)Lmisk/security/authz/AccessAnnotationEntry;
957
+
public final fun component4 ()Z
958
+
public final fun component5 ()Z
959
+
public final fun copy (Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;ZZ)Lmisk/security/authz/AccessAnnotationEntry;
960
+
public static synthetic fun copy$default (Lmisk/security/authz/AccessAnnotationEntry;Lkotlin/reflect/KClass;Ljava/util/List;Ljava/util/List;ZZILjava/lang/Object;)Lmisk/security/authz/AccessAnnotationEntry;
957
961
public fun equals (Ljava/lang/Object;)Z
962
+
public final fun getAllowAnyService ()Z
963
+
public final fun getAllowAnyUser ()Z
958
964
public final fun getAnnotation ()Lkotlin/reflect/KClass;
959
965
public final fun getCapabilities ()Ljava/util/List;
960
966
public final fun getServices ()Ljava/util/List;
@@ -969,7 +975,7 @@ public final class misk/security/authz/AccessControlModule : misk/scope/ActionSc
969
975
970
976
public final class misk/security/authz/AccessInterceptor : misk/ApplicationInterceptor {
971
977
public static final field Companion Lmisk/security/authz/AccessInterceptor$Companion;
972
-
public synthetic fun <init> (Ljava/util/Set;Ljava/util/Set;Lmisk/scope/ActionScoped;ZLjava/util/Set;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
978
+
public synthetic fun <init> (Ljava/util/Set;Ljava/util/Set;Lmisk/scope/ActionScoped;ZLjava/util/Set;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V
973
979
public final fun getAllowedCapabilities ()Ljava/util/Set;
974
980
public final fun getAllowedServices ()Ljava/util/Set;
975
981
public fun intercept (Lmisk/Chain;)Ljava/lang/Object;
val requiredAnnotations = mutableListOf<KClass<outAnnotation>>()
78
84
requiredAnnotations +=Authenticated::class
79
85
requiredAnnotations +=Unauthenticated::class
@@ -114,7 +120,7 @@ class AccessInterceptor private constructor(
114
120
val allowedServices = actionEntries.flatMap { it.services }.toSet()
115
121
val allowedCapabilities = actionEntries.flatMap { it.capabilities }.toSet()
116
122
117
-
if (!allowAnyService && allowedServices.isEmpty() && allowedCapabilities.isEmpty()) {
123
+
if (!allowAnyService && allowedServices.isEmpty() &&!allowAnyUser &&allowedCapabilities.isEmpty()) {
118
124
logger.warn { "${action.name}::${action.function.name}() has an empty set of allowed services and capabilities. This method of allowing all services and users is deprecated."}
119
125
}
120
126
@@ -123,12 +129,17 @@ class AccessInterceptor private constructor(
0 commit comments