使用 Spring Security 3 在我的 Grails OAuth 提供程序上存储访问令牌
Posted
技术标签:
【中文标题】使用 Spring Security 3 在我的 Grails OAuth 提供程序上存储访问令牌【英文标题】:Store access token on my Grails OAuth provider using Spring Security 3 【发布时间】:2011-06-12 07:20:14 【问题描述】:我刚刚为我的 Grails 应用程序实现了一个 oAuth 提供程序,并且可以成功地验证我的客户端应用程序(使用标志)。我想做的下一件事是保留访问令牌,因此我的客户不必每次都接受许可。在服务器上,我使用 Spring Security OAuth 包。
我想我必须实现自己的 OAuthProviderTokenServices,但我不确定。有没有我可以使用的开箱即用的处理程序,或者有什么办法?
谢谢!!
【问题讨论】:
【参考方案1】:OAuth2 (JdbcOAuth2ProviderTokenServices) 有一个开箱即用的提供程序,但看起来 OAuth 1 没有可比的类。最好的办法是继承 RandomValueProviderTokenServices 并实现三个抽象持久性相关方法。查看 JdbcOAuth2ProviderTokenServices 以获取可借用的代码,尤其是在序列化 Authentication 对象方面。
我以类似的方式实现了一个自定义的 JPA 支持的 OAuth2ProviderTokenServices,而且非常简单。
【讨论】:
好的,我开始实施并且它工作正常。只有反序列化是一个问题,因为类加载器找不到 groovy 类 GrailsUser。创建一个方法,以便您可以传递 groovy 类加载器。 如果您能分享用于解决此问题的代码,我们将不胜感激。 ;-)以上是关于使用 Spring Security 3 在我的 Grails OAuth 提供程序上存储访问令牌的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的新 Spring Boot 项目中关闭 Spring Security?
如何使用 Spring Security 在我的控制器中获取用户登录的角色
Spring Security 3.2 CSRF 禁用特定 URL
在 Spring Security 3 中动态创建新角色和权限