我有下面的属性在我的属性文件的认证服务器oauthSpring安全生成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},其中tennant在每个请求的路径变量中传递。我们没有任何UI或用户配置的配置,它只是一个Sping Boot REST API项目。
我们使用内存客户端注册库来存储客户端的详细信息。
1条答案
按热度按时间lmyy7pcs1#
您应该确保将
tenant
声明放入JWT访问令牌中。当您验证请求时,您可以通过path参数验证tenant
声明是否等于tenant
。您可以在访问令牌中放置任何声明,然后使用它们进行适当的授权决策。