1

更新:我之前没有提到我们想要的解决方案可以灵活地从我们的数据库中验证用户身份,或者通过要求其他服务器告诉我们用户是否经过身份验证。还值得一提的是,这些其他服务器不受我们控制,因此我们无法强制执行特定的用户模型。

我对 OAuth 和 OpenID 进行了长期而艰苦的阅读,但它们都不是适合我们情况的解决方案,并且会使用户更难处理。这是已经解决了一千次的问题,但我找不到解决方案。

我们正在寻找的是一个可以在 REST 服务服务器中使用的框架,以使用用户名和密码对用户(不涉及第三方客户端)进行身份验证。解决方案不得传递用户名和密码,除非是第一次登录并使用令牌进行进一步身份验证。尽管 OAuth 确实使用令牌,但它旨在允许第三方客户端访问服务提供者资源。这不是这里的情况,这些服务仅适用于我们自己的应用程序,唯一需要的是用户身份验证。

你们认为最合适的解决方案是什么?

配置:
- 提供 RESTful 服务的 Spring 服务器,我们的想法是使用带有一些用户管理和令牌管理框架的 Spring Security。
- 将对服务器进行 HTTPS 调用的 iOS 设备。

我们最终想要的是让设备发送登录请求并在登录成功时接收令牌,然后使用该令牌发出请求。就像 Facebook,不包括第三方参与。

有什么东西可以在我们的服务器中配置吗?还是我们应该考虑构建自己的代币管理、比较和生成软件?是否可以在不涉及存储 cookie 或重定向到页面的情况下将 Spring-Security 与 iOS 应用程序一起使用?

4

1 回答 1

0

OpenStack 提供了许多与开源云相关的项目...... Keystone 项目。这几乎正​​是您想要的。

您可能想在这里查看:

http://docs.openstack.org/developer/keystone/

于 2013-03-08T03:31:12.963 回答