Class CaptchaChallengeController

java.lang.Object
com.sankcrm.erp.auth.interfaces.user.CaptchaChallengeController

@RestController public class CaptchaChallengeController extends Object
公开的登录验证码挑战入口;是否需要验证码由服务端策略决定。

调用方显式提供应用编号时按该编号查询策略;未提供时沿用认证上下文或域名路由解析出的应用编号。

  • Constructor Details

    • CaptchaChallengeController

      public CaptchaChallengeController()
  • Method Details

    • challenge

      @PostMapping("/v1/app/authz/captcha/challenge") public com.sankcrm.erp.mvc.application.readmodel.Response<CaptchaChallengeResponse> challenge(@RequestParam(required=false) com.sankcrm.erp.auth.domain.model.app.AppId appId, @RequestBody CaptchaChallengeRequest request, jakarta.servlet.http.HttpServletRequest httpRequest) throws com.sankcrm.erp.common.exception.CoreException
      创建当前登录流程的验证码挑战,若策略不要求则返回 required=false。
      Parameters:
      appId - 可选的应用编号;为空(含空白)时从认证上下文或域名路由上下文获取
      request - 认证方式、可选原始账号名及当前标签页持有的高熵 flowId
      httpRequest - 当前 HTTP 请求;远端地址只作补充限流维度,不作为可信用户或设备身份
      Returns:
      是否需要验证码及必要时的一次性挑战图片和 TTL
      Throws:
      com.sankcrm.erp.common.exception.CoreException - 策略启用时 Redis 不可用或请求不合法时抛出