2

我目前使用 Janrain,对 OAuth 不太了解。

有人可以解释这两者之间的区别吗?

4

3 回答 3

6

Janrain 正在使用 OpenID,因此用户必须获得 OpenID 提供者的身份。您已经知道它是如何工作的:用户与提示输入凭据的提供者交互。如果您想要一个接受来自 OpenID 提供商的现有帐户的登录系统,OpenID 是一个很好的解决方案。

在 OAuth 的情况下,它可以对最终用户完全透明。OAuth 与令牌一起工作,每个令牌都授予对特定站点或资源的访问权限,这都是关于“授权”的。您还可以将令牌配置为在定义的持续时间后过期。OAuth 也可以用于登录,这就是 Facebook 的工作方式。

OAuth 示例:您的网站使用 Janrain 进行身份验证,现在您希望允许用户从 Facebook 导入照片,但用户提供者是 Google(例如)。您会将用户重定向到 Facebook 进行身份验证,并且会询问用户是否要授予对您网站的访问权限。如果用户同意,他将被送回您的网站,在后台,您将从 Facebook 获得一个令牌,该令牌必须在未来的通信中用于验证操作。用户在任何时候都不会与您的站点共享用户名和密码。

我建议您阅读 OAuth。您可以在此处查看 OAuth 1.0 和 2.0的非常好的指南。

于 2011-02-15T17:24:06.973 回答
1

Janrain Engage 是一组小部件和后端技术,用于支持可能通过各种 openid 和 oauth 进行身份验证的各种身份提供者。使您免于实施支持 Janrain 支持的 20 多个身份提供者所需的协议。

于 2011-05-19T21:05:45.187 回答
1

Janrain 和 OAuth 没有区别。Janrain 不是用于社交登录的特定协议。Janrain 创建了一组可与 OpenID 和 OAuth 一起使用的 API,因此您不必知道其中的区别。

正如 Kevin 所说,Janrain 的 Social Login 是一种后端技术,支持各种身份提供者,这些身份提供者可能通过各种 openid 和 oauth 进行身份验证。

因此,Janrain 和 OAuth 之间确实没有区别,只是 Janrain 使用了提供商在其社交 API 中使用的任何技术——OpenID 和/或 OAuth。

于 2014-04-02T22:00:31.133 回答