当前位置: 首页 > 知识库问答 >
问题:

如何强制Spring Security OAuth2使用JSON而不是XML?

傅玮
2023-03-14
<oauth>
    <error_description>
        Full authentication is required to access this resource
    </error_description>
    <error>unauthorized</error>
</oauth>

当我设置json accept header时,得到的是json。我需要强制我的授权服务器始终发送JSON。还没找到任何解决办法。谢了。

共有1个答案

堵才哲
2023-03-14

对于Spring Security,OAuth异常使用DefaultOAuth2ExceptionRenderer呈现

它将把接收到的Accept HTTP头与提供的MessageConverters进行匹配。在您的例子中,Spring Boot似乎自动分配了XML和JSON MessageConverters。根据Accept标头确认此行为,您将收到以适当内容类型呈现的异常

如果没有Accept头,DefaultOAuth2ExceptionRenderer默认为Accept:*,第一个响应的MessageConverter通常是XML One。

 类似资料:
  • 我的eclipse安装始终使用https协议下载存储库结构。问题是我的合作代理不允许我在这个url上使用https。如何强制m2e使用http? 我尝试了m2e的不同外部maven安装,但没有成功。只有在使用CLI中的外部maven(使用http)时,它才起作用。

  • 我正在尝试构建react原生android应用程序,作为一种依赖,我看到我有gradle,但它无法在构建时加载。错误消息: 问题很明显,我坐在公司代理后面,阻止任何像这样的错误HTTPS连接。所以我的问题是:如何强制gradle使用HTTP加载这些文件?这些属性应该放在哪里(哪一个gradle文件,即gradle.properties)? P. S.我已经在gradle属性文件中设置了这些: 任何

  • Spring Boot 1.4.2参考声明: Springhttp。转换器。首选json映射器=jackson#用于HTTP消息转换的首选json映射器。设置为“gson”以强制使用gson 我们做到了。 我们为首选json映射器设置了gson 但杰克逊还是被利用了。 最后,在排除了Maven中所有向Jackson指出的可传递依赖项之后,我们设法强制Spring Boot使用Gson。 现在的问题

  • 当我使用Guzzle发送请求时,它会返回一条完整的错误消息,而不会解析内部的JSON。下面是它的外观: “”“ 客户端错误: 导致 响应:\n {\r\n ”错误“: [\r\n ”潜在客户已在此市场活动中“\r\n ]\r\n }\n ”“” 当我通过Postman发送相同的请求时,它确实会返回正确解析的响应消息。 我如何才能让Guzzle只返回消息,而不是完整的响应?

  • 问题内容: 我正在使用Oracle 11GR2,并且当varchar2字段为空时,在空字段上执行a 将显示在我的Eclipse控制台上。如何让它显示空字符串呢? 问题答案: 你的getter方法:

  • 问题内容: 这是Linux编程书的引文: 假设这两个和是available.Then链接器必须选择的图书馆之一,而不是other.The链接搜索每个目录(第那些指定的选项,然后将这些在标准目录)。当链接器找到了一个包含目录无论是或,链接器将停止搜索目录。如果目录中仅存在两个变体之一,则链接器将选择该变体。否则,除非另有明确指示,否则链接程序将选择共享库版本。您可以使用该选项来请求静态归档。例如,即