[#为澄清而编辑的问题#]
我正在尝试为 Web 应用程序实现单点登录 (SSO)。也许你可以帮我找到一个合适的解决方案,给我一个方向或告诉我,解决方案已经存在。
场景:GeoExt(基于地理数据/地图的应用程序的 ExtJS)web 应用程序(仅限 JavaScript)将部署在客户的网络服务器上。
客户将定义“用例”或“配置文件”:一组服务,如 web 服务、GeoServer WFS、WCS、谷歌地图等。这些服务可能需要额外的身份验证,如凭据或密钥。
用户(必须注册并申请“个人资料”)可以(一旦申请被授予)检索访问与其个人资料相关联的服务所需的凭据。就像在普通的 SSO 解决方案中一样,用户不需要为自己输入每个凭据/密钥来使用服务。
[ # 从这里开始没有变化... #]
主要问题:我无法修改第 3 方服务(例如 Google)以添加 SSO 机制。
我想要一个解决方案,允许用户登录一次以访问所有所需的服务。我的第一个想法是存储所有必需的凭据或密钥的存储库。用户登录并可以检索访问其他服务所需的所有信息。有谁知道现有的实现、论文,也许是此类服务的实现?
其他要求: JS 应用程序和存储库之间的通信必须是安全的。凭据必须以安全的方式存储。但是 JS 应用程序必须能够使用它们来访问服务(没有机会将解密密钥安全地存储在 JS 应用程序中,嗯?*g)。
[编辑] 代理不是一种选择,因为所涉及的服务的使用条款。