spring oauth2获取token时WARN:Could not decode JSON for additional information: BaseClientDetails解决办法
错误描述
简述:oauth_client_details表中additional_information字段默认为null,ClientDetails实体类中类型为Map<String,Object>
以下是官方文档对该字段的说明
additional_information 这是一个预留的字段,在Oauth的流程中没有实际的使用,可选,但若设置值,必须是JSON格式的数据,如:{“country”:“CN”,“country_code”:“086”}按照spring-security-oauth项目中对该字段的描述 Additional information for this client, not need by the vanilla OAuth protocol but might be useful, for example,for storing descriptive information. (详见ClientDetails.java的getAdditionalInformation()方法的注释)在实际应用中, 可以用该字段来存储关于客户端的一些其他信息,如客户端的国家,地区,注册时的IP地址等等.create_time 数据的创建时间,精确到秒,由数据库在插入数据时取当前系统时间自动生成(扩展字段)
所以该字段存储时格式必须为 json格式数据
{"country":"CN","country_code":"086"}
oauth_client_details表数据是在页面维护的,当前端传入additional_information值为空并不是为null或者不符合json格式,所以用该组参数获取token时会WARN警告
解决办法:
传入json格式参数
前端不传入该字段,使用数据库默认为null
原文链接:https://blog.csdn.net/qphelloworld/java/article/details/106692454