场景:一个GeoExt(基于地理数据/地图的应用程序的ExtJS)Web应用程序(仅JavaScript)将部署在客户的Web服务器上。
客户将定义“用例”或“配置文件”:一组服务,如Web服务、GeoServer WFS、WCS、Google Maps等。这些服务可能需要额外的身份验证,如凭据或密钥。
用户(必须注册并申请“配置文件”)可以(一旦获得应用程序)检索访问与其配置文件相关联的服务所需的凭据。就像在普通的SSO解决方案中一样,用户不需要为自己输入每个凭据/密钥以使用服务。
主要问题:我无法修改第三方服务(例如Google)以添加SSO机制。
我希望有一个解决方案,允许用户登录一次即可访问所需的所有服务。我的第一个想法是一个存储所有所需凭据或密钥的存储库。用户登录后,可以检索所有所需信息来访问其他服务。是否有人知道现有的实现、论文、可能是这种服务的实现?
其他要求:JS应用程序与存储库之间的通信必须是安全的。凭据必须以安全的方式存储。但JS应用程序必须能够使用它们来访问服务(没有机会在JS应用程序中安全地存储解密密钥,对吧? *g)。
[编辑] 代理不是一个选择,因为涉及到的服务使用条款。