后端RESTAPI中的OpenID

后端RESTAPI中的OpenID,api,rest,openid,Api,Rest,Openid,我们正在为采用OpenID作为身份验证选项的应用程序设计一个web服务。问题出现了,我们以后如何为该用户启用API访问 为清楚起见,以下是一个示例: 1) 用户A访问该站点并使用Yahoo(或其他)OpenID注册 2) 稍后,我们将启用对代表此用户的后端同步应用程序的API访问。 3) 出于安全原因,为应用程序提供一个可以访问任何地方所有帐户的密钥不是一个选项 使用这种模式的例子有哪些?标准OpenID需要一个浏览器,因为它依赖于能够从外部站点加载页面来完成登录过程。因此,不适合使用服务器到服

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

为清楚起见,以下是一个示例:

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


使用这种模式的例子有哪些?

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

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


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

这与OpenID有什么关系?@thebjorn-它在API中使用OpenID-一个API设计问题。是的,我从你的问题中了解到你正在使用OpenID。。。但是,在“用户A访问站点并使用OpenID提供程序注册”之后,我假设您将此事实存储在您的用户数据库中。。如果您实施了常规用户名/密码注册,可能会采用相同的方式?@thebjorn是的,我们会保存OpenID信息,但稍后如何验证OpenID是否仍然有效?如果没有交互式浏览器会话,OpenID似乎无法验证其有效性。