我正在使用Spring Security OAuth 2.0 2.3.4.REELEASE
开发OAuth 2.0授权服务器和资源服务器。我几乎不知道Spring已弃用它,而赞成Spring Security
。但是,向Spring Security
的迁移中不包括授权服务器。仅包含资源服务器,因为它们鼓励用户改用产品(一个是KeyCloak)。
但是与其他许多人一样,我确实必须开发自己的授权服务器,因此我继续使用Spring Security OAuth 2.0
,但仅用于授权服务器。至于资源服务器,我将使用Spring Security
中的资源服务器。我认为授权服务器和资源服务器是独立的,它们基于OAuth 2.0
的标准,因此实现可以来自不同的框架。
我的问题是通过issuer-uri指定授权服务器。我无法确定Spring OAuth 2.0授权服务器如何公开其issuer-uri
(如果有)。如果没有默认文档,我找不到任何文档如何创建。
请帮助。谢谢。
答案 0 :(得分:0)
它可帮助您创建与资源服务器的新实现兼容的身份验证服务器
答案 1 :(得分:0)
我相信您正在寻找的解决方案在于TokenEnhancer。因此,实现自定义令牌增强器并像这样添加iss键。
public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
Map<String, Object> additionalInfo = new HashMap<>();
additionalInfo.put("iss", "issuer uri here");
...
((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo);
return accessToken;
}