后端REST API中的OpenID

时间:2013-03-15 22:46:32

标签: api rest openid

我们正在为将OpenID作为身份验证选项的应用程序设计Web服务。问题出现了我们如何在以后为该用户启用API访问?

为清楚起见,这是一个例子:

1)用户A访问该站点并使用Yahoo(或其他)OpenID进行注册 2)稍后我们希望对代表此用户的后端同步应用启用API访问。 3)为应用程序提供一个可以访问所有帐户的密钥,出于安全原因不是一种选择

使用这种模式的例子是什么?

1 个答案:

答案 0 :(得分:1)

标准OpenID需要浏览器,因为它依赖于能够从外部站点加载页面来完成登录过程。因此,它不适合服务器到服务器API的使用。

使用OAuth作为服务器到服务器API的身份验证机制更为常见。虽然标准OAuth还需要浏览器和用户交互流来授予对新应用程序的访问权限,但它会生成一个令牌,然后应用程序可以使用该令牌代表用户执行用户无人参与的请求。

Facebook可能是OAuth 2 for API中最引人注目的用户,其Login Architecture文档描述了他们在高级别支持的各种登录流程。标题为“服务器端登录”的是传统的OAuth流程,而其他则是支持不同用例的不同方法,例如移动应用程序登录和嵌入其他站点的客户端JavaScript访问。