mirror of https://github.com/nucypher/nucypher.git
Handle context variable for EIP4361 auth signature, where the SIWE message and signature were passed through from the 3rd party app, and not created by TACo itself.
parent
17dd57e6a1
commit
184de55bfc
|
@ -15,14 +15,16 @@ from nucypher.policy.conditions.exceptions import (
|
|||
USER_ADDRESS_CONTEXT = ":userAddress"
|
||||
USER_ADDRESS_EIP712_CONTEXT = ":userAddressEIP712"
|
||||
USER_ADDRESS_EIP4361_CONTEXT = ":userAddressEIP4361"
|
||||
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT = ":userAddressExternalEIP4361"
|
||||
|
||||
CONTEXT_PREFIX = ":"
|
||||
CONTEXT_REGEX = re.compile(":[a-zA-Z_][a-zA-Z0-9_]*")
|
||||
|
||||
USER_ADDRESS_SCHEMES = {
|
||||
USER_ADDRESS_CONTEXT: None, # any of the available auth types
|
||||
USER_ADDRESS_CONTEXT: None, # TODO either EIP712 or EIP4361 for now, but should use the default that is eventually decided (likely EIP4361)
|
||||
USER_ADDRESS_EIP712_CONTEXT: EvmAuth.AuthScheme.EIP712.value,
|
||||
USER_ADDRESS_EIP4361_CONTEXT: EvmAuth.AuthScheme.EIP4361.value,
|
||||
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT: EvmAuth.AuthScheme.EIP4361.value,
|
||||
}
|
||||
|
||||
|
||||
|
@ -90,6 +92,10 @@ _DIRECTIVES = {
|
|||
_resolve_user_address,
|
||||
user_address_context_variable=USER_ADDRESS_EIP4361_CONTEXT,
|
||||
),
|
||||
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT: partial(
|
||||
_resolve_user_address,
|
||||
user_address_context_variable=USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT,
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ from nucypher.policy.conditions.auth.evm import EvmAuth
|
|||
from nucypher.policy.conditions.context import (
|
||||
USER_ADDRESS_EIP712_CONTEXT,
|
||||
USER_ADDRESS_EIP4361_CONTEXT,
|
||||
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT,
|
||||
USER_ADDRESS_SCHEMES,
|
||||
_resolve_context_variable,
|
||||
_resolve_user_address,
|
||||
|
@ -136,10 +137,12 @@ def test_user_address_context_invalid_typed_data(
|
|||
[
|
||||
USER_ADDRESS_EIP712_CONTEXT,
|
||||
USER_ADDRESS_EIP4361_CONTEXT,
|
||||
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT,
|
||||
],
|
||||
[
|
||||
EvmAuth.AuthScheme.EIP4361.value,
|
||||
EvmAuth.AuthScheme.EIP712.value,
|
||||
EvmAuth.AuthScheme.EIP712.value,
|
||||
],
|
||||
)
|
||||
),
|
||||
|
|
Loading…
Reference in New Issue