我想使用第 3 方身份验证(OpenID,也许是 OAuth,但我猜 OAuth 的用途是授权)以便用户可以轻松登录。
但是,对每个请求进行身份验证是否意味着即使我不需要第三方(例如 Google)的任何东西,我也会多次调用它?例如,我使用 OpenID 身份验证,但我使用的 API 是内部的(例如 /api/tasks/add)。
让我们首先解决理解问题。 OpenID 和 OAuth 有点不同。有一个简单的方法可以记住这种不同:
- OpenID 是为人类服务的。简单的例子:您想跳过无聊的注册步骤并让用户重复使用现有帐户。
- OAuth 适用于服务/机器人。简单的示例:您希望脚本使用某些用户的数据访问外部 API。
提供了一个简单的解释维基百科 http://en.wikipedia.org/wiki/OpenID:
请注意,对于 OpenID,该过程从应用程序询问开始
用户的身份(通常是 openid URI),而在
OAuth的情况下,应用程序直接请求有限访问
OAuth 令牌(代客钥匙),用于访问用户的 API(进入房屋)
代表。如果用户可以授予该访问权限,则应用程序可以
检索用于建立配置文件(身份)的唯一标识符
使用 API。
So I want to use 3rd party authentication ... that user can login easily.
可能意味着您将使用 OpenID。
回答您的问题:您无需根据任何请求调用任何第三方服务。这将是非常低效和缓慢的。 OpenID 提供商将返回用户的凭据,您就可以开始了。
请确保您已正确确定需求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)