我已经设置了一个多租户OAuth服务器,该服务器由特定于租户的MySql数据库作为令牌存储。我可以自定义CheckTokenEndpoint
以接受租户标头,它对我有用。根据请求,身份验证服务器选择租户的数据源,并针对租户的令牌存储中存储的access_token验证收到的access_token。
现在,我想在资源服务器中使用RemoteTokenServices
,但无法传递租户标头。定义完bean之后,无法在运行时添加请求参数或标头。 RemoteTokenServices#postForMap()
是private
,因此无法在运行时更改formData / header。 好像RemoteTokenServices不支持多租户,或者我错过了什么!。
有什么想法要实现吗?
注意:我不想在资源服务器中配置JdbcTokenStore,否则我将不得不公开oauth数据源详细信息。
编辑:作为最后的选择,我正在考虑重写RemoteTokenServices#loadAuthentication()
并将其余调用修改为checkTokenEndpointUrl,但是想知道是否有更好的方法。