Spring Security OAuth2授权服务器的发行者URI

时间:2019-11-19 11:13:58

标签: spring spring-security oauth-2.0

我正在使用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(如果有)。如果没有默认文档,我找不到任何文档如何创建。

请帮助。谢谢。

2 个答案:

答案 0 :(得分:0)

在这里看看:docs.spring.io/spring-security-oauth2-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-security-oauth2-authorization-server

它可帮助您创建与资源服务器的新实现兼容的身份验证服务器

答案 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;

}

相关问题