如何在Spring授权服务器中获取Page<RegisteredClient>?

How to get Page<RegisteredClient> in Spring Authorization Server?

我想添加或更新 RegisteredClient 使用我的自定义控制器,所以首先需要显示 RegisteredClient 的列表。

所以我想让页面使用 RegisteredClientRepository.findAll(Pageable pageable),但是 RegisteredClientRepositor 没有 findAll 方法,只有 findById,findByClientId

如何获取 RegisteredClient 的列表?

最后我用jdbcTemplate查询

@Component
public class CustomRegisteredClientRepo {

  @Autowired
  private JdbcTemplate jdbcTemplate;


  public Page<CustomClient> findAll(Pageable page) {
    Order order = !page.getSort().isEmpty() ? page.getSort().toList().get(0) : Order.by("id");

    SqlRowSet rs = jdbcTemplate.queryForRowSet("SELECT * FROM oauth2_registered_client ORDER BY "
        + order.getProperty() + " " + order.getDirection().name() + " LIMIT " + page.getPageSize()
        + " OFFSET " + page.getOffset());

    long count =
        jdbcTemplate.queryForObject("select count(*) from oauth2_registered_client", long.class);

    List<CustomClient> list = new ArrayList<CustomClient>();

    while (rs.next()) {
      CustomClient client = new CustomClient();
      client.setId(rs.getString("id"));
      client.setClientId(rs.getString("client_id"));
      list.add(client);
    }
    return new PageImpl<CustomClient>(list, page, count);
  }
}