Expressions
Expressions allow you to write custom logic using Python code.
Expressions are used in different places throughout authentik, and can do different things.
info
These functions/objects are available wherever expressions are used. For more specific information, see Expression Policies and Property Mappings
#
Global objects#
Generally available functionsregex_match(value: Any, regex: str) -> bool
#
Check if value
matches Regular Expression regex
.
Example:
regex_replace(value: Any, regex: str, repl: str) -> str
#
Replace anything matching regex
within value
with repl
and return it.
Example:
ak_is_group_member(user: User, **group_filters) -> bool
#
Check if user
is member of a group matching **group_filters
.
Example:
ak_user_by(**filters) -> Optional[User]
#
Fetch a user matching **filters
. Returns "None" if no user was found.
Example:
#
Comparing IP AddressesTo compare IP Addresses or check if an IP Address is within a given subnet, you can use the functions ip_address('192.0.2.1')
and ip_network('192.0.2.0/24')
. With these objects you can do arithmetic operations.
You can also check if an IP Address is within a subnet by writing the following: