我有一个关于 Spring Boot 的项目,我需要通过 Twitter 实现授权。
还有什么比这更简单的?- 我问自己,然后我被困了几天。
问题是我尝试过的大多数库(监听 /connect/twitter 或 /signin/twitter)都返回相同的响应
Invalid cookie header: "set-cookie: personalization_id=""; Expires=Tue, 28 Jul 2020 20:04:39 GMT; Path=/; Domain=.twitter.com". Invalid 'expires' attribute: Tue, 28 Jul 2020 20:04:39 GMT
我的注意力被这句话吸引了:
Invalid 'expires' attribute
这可以通过配置 RestTemplate 来解决,但问题是它在配置中深度创建并被私有 final 字段隐藏。我认为应该有一个比玩反射 API 更好的决定,我只是不明白
也许有人可以通过 Twitter 提出正确的授权方式。
测试版本:
- Spring Boot 版本从 1.5.14 到 2.0.3
- org.springframework.social:spring-social-twitter 从 1.1.2 到 2.0.0.M4
- spring-boot-starter-social-twitter 高达 2.0.0.M4
PS Facebook 与 spring-security-oauth2-jose 和 spring-security-oauth2-client 完美配合,但 twitter 未配置为其中的提供者
必须为客户端注册“twitter”指定提供者 ID