我正在为一组REST风格的Web应用程序的用户使用内部认证系统。我们的意图是,用户应该能够通过Web表单登录一次,并且可以适当地访问我们域中的所有这些RESTful应用程序,这些应用程序可能分布在许多服务器上的私有云中。 (我明白已经有一个单一的认证会话不符合纯粹的REST风格的方法,但这是一个可用性要求。)如何使用OpenID或OAuth进行内部第一方认证?
应用程序本身将用各种编程语言编写,所以语言中立的方法是需要。据我所知,我们可能会使用OpenID或OAuth或类似的框架来处理身份验证,但我的理解是,这些服务旨在用于第三方服务,而不是用于在我们的内部系统上共享数据的第一方服务。在这种情况下,我们可能会将所有其他应用程序视为第三方(或依赖方)的中央提供商服务。
问题:
- 是否适合认证中的第一方服务的OpenID/OAuth的?
- 如果是这样,建议如何为此用例设置身份验证?
- 用户是否必须授予他们想要使用的每个第一方服务器的个人权限,就像他们需要向任何第三方服务器授予个人权限一样?我认为这会违反访问所有第一方服务的单点登录要求。
- 有支持这个第一方用例的站点的好例子吗?
- 对于这个第一方用例,什么是一个好的替代框架?
感谢您的确认。很高兴知道我没有在OAuth或其他第三方框架中遗漏明显的东西。 – Richard 2013-05-13 14:24:38