我的身份验证服务器属性文件中有以下属性,用于 oauth spring security 生成 jwt 令牌。
clientcredential:
clients:
- tenant: tenant1
clientdetails:
- name : service1
scope : service1.read
clientId: tenant1-service1-client
clientSecret: tenant1-service1-secret
- name : service2
scope : service2.read
clientId: tenant1-service2-client
clientSecret: tenant1-service2-secret
- name : service3
scope : service3.read
clientId: tenant1-service3-client
clientSecret: tenant1-service3-secret
- name : service4
scope : service4.read
clientId: tenant1-service4-client
clientSecret: tenant1-service4-secret
- tenant: tenant2
clientdetails:
- name : service1
scope : service1.read
clientId: tenant2-service1-client
clientSecret: tenant2-service1-secret
- name : service2
scope : service2.read
clientId: tenant2-service2-client
clientSecret: tenant2-service2-secret
- name : service3
scope : service3.read
clientId: tenant2-service3-client
clientSecret: tenant2-service3-secret
我想验证 jwt 令牌,以便一个租户的令牌不应与另一租户一起使用。
我的请求端点为 https://domain/api/v1/save/{tenant} 其中租户在每个请求的路径变量中传递。
我们没有任何 UI 或此类用于用户配置的配置,它只是一个 Spring Boot REST API 项目。
我们正在使用内存中客户端注册存储库来存储客户端详细信息。
您应该确保将
tenant
声明放入 JWT 访问令牌中。然后验证请求时,您可以验证 tenant
声明是否等于路径参数中的 tenant
。
您可以将任何声明放入访问令牌中,然后使用它们做出正确的授权决策。