protected AuthenticationToken createToken(
     String username, String password, ServletRequest request, ServletResponse response) {
   boolean rememberMe = isRememberMe(request);
   String host = getHost(request);
   SourceUsernamePasswordToken token =
       new SourceUsernamePasswordToken(username, password, rememberMe, host);
   String source = request.getParameter("source");
   // 获取设备ID标识
   String uuid = request.getParameter("uuid");
   token.setUuid(uuid);
   if (StringUtils.isNotBlank(source)) {
     token.setSource(Enum.valueOf(AuthSourceEnum.class, source));
   } else {
     if (isMobileAppAccess(request)) {
       token.setSource(AuthSourceEnum.P);
     }
   }
   return token;
 }