【问题标题】:Spring Security generate access token programmaticallySpring Security 以编程方式生成访问令牌
【发布时间】:2018-09-01 17:04:49
【问题描述】:

我有一个 Web 应用程序,用于通过数据库中的 client_id 和 secret 生成 access_token

[场景]

  1. User01 - 请求新令牌

  2. 服务 - 获取 client_id 然后获取状态为('未使用')的数据库

  3. 服务 - 使用选定的 client_idsecret 生成令牌

我想在服务层生成令牌。

我引用的源代码是TokenEndpoint.postAccessToken()

但是,该源代码需要 Principal 对象。我没有那个数据。因为该对象包含User01 用户的数据。所以这不是正确的数据。

如何使用数据库中的客户端数据生成令牌?

【问题讨论】:

  • 首先制作认证token Domain并添加你要添加的元素然后你可以UUID.randomUUID()来生成tokens然后你就可以保存在repository中了。

标签: spring spring-security spring-data-jpa


【解决方案1】:

创建身份验证令牌域并添加元素。例如 - id、token、用户和创建日期。

之后,你可以保存在 authenticationTokenRepository 中。

  AuthenticationToken authToken = new AuthenticationToken(UUID.randomUUID().toString(),user);
    AuthenticationToken savedAuthToken = 
    authenticationTokenRepository.save(authToken);

【讨论】:

    猜你喜欢
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 2015-06-10
    • 2016-12-17
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    相关资源
    最近更新 更多