首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring Oauth2 JDBC客户端配置多次添加同一客户端

Spring Oauth2 JDBC客户端配置多次添加同一客户端
EN

Stack Overflow用户
提问于 2016-10-20 20:28:15
回答 4查看 1.5K关注 0票数 1

我正在一个Spring项目中配置一个OAuth2授权服务器。以下是配置。

代码语言:javascript
复制
 @Override
public void configure(ClientDetailsServiceConfigurer clients) 
  throws Exception {
    clients.jdbc(dataSource)
           .withClient("user")
           .secret("secret")
           .scopes("read", "write")
           .autoApprove(true)
           .authorizedGrantTypes(
            "password","authorization_code", "refresh_token")
        }

问题是,每次我重新启动应用程序时,它都会尝试将这些客户端添加到数据库中,这是我不想要的。我得到了唯一的约束冲突异常。如何将其配置为仅在客户端尚不存在时才添加客户端?

谢谢。

EN

Stack Overflow用户

发布于 2017-01-08 15:55:35

原因:基本上,当应用程序启动时,它会将withClient()中的内容插入到oauth_client_details表中,所以请删除它,然后重新启动应用程序,它应该可以工作。

因为您已经运行了应用程序,所以它在oauth_client_details表中插入了行。

解决方案:只需将这一行作为您的方法。它将在该表中查找行。@Override public void configure(ClientDetailsServiceConfigurer clients) throws Exception { clients.jdbc(dataSource); }假设您第一次使用上面的代码行启动应用程序,那么我猜您可以直接向该表中添加条目,也可以通过应用程序添加条目。

我手动添加的目的是为了测试。

希望这对你有帮助。这对我很管用。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40154466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档