|
@@ -29,6 +29,7 @@ from sentry.utils.auth import DISABLE_SSO_CHECK_FOR_LOCAL_DEV, has_completed_sso
|
|
|
from sentry.utils.settings import is_self_hosted
|
|
|
|
|
|
logger: logging.Logger = logging.getLogger(__name__)
|
|
|
+getsentry_logger = logging.getLogger("getsentry.staff_auth_index")
|
|
|
|
|
|
PREFILLED_SU_MODAL_KEY = "prefilled_su_modal"
|
|
|
|
|
@@ -74,6 +75,7 @@ class BaseAuthIndexEndpoint(Endpoint):
|
|
|
|
|
|
@staticmethod
|
|
|
def _verify_user_via_inputs(validator: AuthVerifyValidator, request: Request) -> bool:
|
|
|
+ staff_feature_flag = features.has("auth:enterprise-staff-cookie", actor=request.user)
|
|
|
# See if we have a u2f challenge/response
|
|
|
if "challenge" in validator.validated_data and "response" in validator.validated_data:
|
|
|
try:
|
|
@@ -83,6 +85,17 @@ class BaseAuthIndexEndpoint(Endpoint):
|
|
|
challenge = json.loads(validator.validated_data["challenge"])
|
|
|
response = json.loads(validator.validated_data["response"])
|
|
|
authenticated = interface.validate_response(request, challenge, response)
|
|
|
+ if staff_feature_flag:
|
|
|
+ getsentry_logger.info(
|
|
|
+ "verify.user.inputs",
|
|
|
+ extra={
|
|
|
+ "user": request.user.id,
|
|
|
+ "interface": interface,
|
|
|
+ "challenge": challenge,
|
|
|
+ "response": response,
|
|
|
+ "authenticated": authenticated,
|
|
|
+ },
|
|
|
+ )
|
|
|
if not authenticated:
|
|
|
logger.warning(
|
|
|
"u2f_authentication.verification_failed",
|
|
@@ -109,6 +122,11 @@ class BaseAuthIndexEndpoint(Endpoint):
|
|
|
if authenticated:
|
|
|
metrics.incr("auth.password.success", sample_rate=1.0, skip_internal=False)
|
|
|
return authenticated
|
|
|
+ if staff_feature_flag:
|
|
|
+ getsentry_logger.error(
|
|
|
+ "verify.user.inputs.failed",
|
|
|
+ extra={"user": request.user.id, "validator": validator.validated_data},
|
|
|
+ )
|
|
|
return False
|
|
|
|
|
|
|