本文以及接下来的一些博客通过演示Spring Social的使用来了解整个社交场景,而我将以非常基础的内容开始。
如果您看过Spring Social Samples,您会知道它们包含几个非常好的和完整的“ quickstart”应用程序。 一个用于Spring 3.0.x,另一个用于Spring3.1.x。 在研究这些应用程序时,让我印象深刻的是,您必须学习许多概念才能欣赏正在发生的事情。 这包括配置,外部授权,提要集成,凭证持久性等……大多数复杂性源于您的用户需要登录其软件即服务(SaaS)帐户(例如Twitter,Facebook或QZone)的事实,以便您的应用程序可以访问其数据1 。 由于周围有大量的SaaS提供程序以及它们使用的授权协议数量不同,这使情况更加复杂。
因此,我认为我将尝试将所有这些分解为各个单独的组件,以解释如何构建有用的应用程序; 但是,我将从一些背景开始。
Spring的家伙们正确地意识到,互联网上有如此众多的SaaS提供商,他们永远无法为所有这些提供商编写模块,因此他们将功能分为两部分,第一部分包括spring-social-core和spring-social-web模块,为每个SaaS提供程序提供基本的连接性和授权代码。 提供所有这些听起来像是一项艰巨的任务,但它的简化之处在于,要成为SaaS提供者,您需要实现所谓的OAuth协议 。 我还没有介绍OAuth的详细信息,但简而言之,OAuth协议执行了一个复杂的小操作,允许用户与您的应用程序共享其SaaS数据(即他们在Facebook等上拥有的东西),而无需用户分发他们的您的应用程序的凭据。 至少有三个版本:1.0、1.0a和2.0,并且SaaS提供程序可以自由实现他们喜欢的任何版本,通常会添加自己的专有功能。
此拆分的第二部分包括SaaS提供程序模块,这些模块知道如何与最低级别的各个服务提供程序服务器进行通信。 Spring的家伙目前提供 基本服务 ,西方世界是 Facebook , LinkedIn 和 Twitter 。 采用广泛的模块化方法的好处是,您还可以使用很多其他社区主导的模块: