【问题标题】:Upgrade from spring oauth2 1.0.5 to 2.0.5从 spring oauth2 1.0.5 升级到 2.0.5
【发布时间】:2015-03-05 19:19:59
【问题描述】:
我正在从 spring-security-oauth2 1.0.5 升级到 2.0.5,是否有任何教程或很好的描述来说明这些差异?我遇到了很多问题,因为我有几个自定义项,所有这些都失败了,因为存在很多差异,并且 AuthorizationRequestHolder 之类的东西不再存在,而且对于简单的 AuthorizationRequest 对象来说更改它并不容易。
谢谢
【问题讨论】:
标签:
spring
oauth
spring-security
spring-security-oauth2
【解决方案1】:
你可以开始
$ git diff 1.0.5.RELEASE 2.0.5.RELEASE -- samples/oauth2
主要区别在于从 XML 迁移到 @Configuration(您可以选择跳过)。还有一个功能更改以支持 UI 中的批准,这也是可选的。剩下的就是UserApprovalHandler,您可以在其中看到API 的变化以及AuthorizationRequest 的使用。其他差异取决于您自定义的内容,但请查看您正在使用的框架扩展点和默认实现,以获取有关如何迁移它们的信息。主要区别(如您所述)在于 AuthorizationRequest,它现在更加精细,影响它的扩展点是 OAuth2RequestFactory 和 OAuth2RequestValidator(都替换了 AuthorizationRequestManager)。
如果您想追溯历史,请在日志中查找“Amanda Anganes”,因为她是主要作者。提交4f577389b3 是第一个重大变化。
【解决方案2】:
我注意到更改的主要内容是令牌存储包发生了更改,例如:
<bean id="tokenStore" class="org.springframework.security.oauth2.provider.token.InMemoryTokenStore" />
变成
<bean id="tokenStore" class="org.springframework.security.oauth2.provider.token.store.InMemoryTokenStore" />
在之前的 1.0.5 中,我也使用过 TokenServicesUserApprovalHandler,我在任何包中都找不到它。我删除了对该类和 user-approval-handler-ref="userApprovalHandler" 我已添加到 oauth:authorization 服务器的引用。 Mines 现在似乎在 2.0.5 上工作,希望这会有所帮助。