1

有没有办法将 OAuth 用作 Jawbone 的单点登录过程?

目前,每次我尝试连接到我的网站/应用程序并获得 access_token 时,我都被迫“同意”应用程序权限。

如果是,如何实施?

当您使用“使用 Facebook / Google 登录”时,我预计会出现 airbnb.com 的行为

或者它是一种技术性的颚骨设计选择?

谢谢您的帮助。

4

2 回答 2

0

从技术上讲,您可以将 UP OAuth 流程用于 SSO,并且您的操作方式也是您不必每次都执行 OAuth 握手的首要问题的答案。

这是您需要做的:

  1. 当用户需要登录时,使用正常的 OAuth 模式:重定向到登录、回调到您的服务器、交换代码以获取访问令牌。
  2. 现在您有了访问令牌,您需要保存它和用户的 XID。您可以从任何端点获取 XID 。
  3. 在您的应用程序中,维护此用户与保存的 XID/访问令牌之间的连接。这可以是数据库行、cookie、本地存储等。
    1. 使用 #3 中的连接,在需要时提取用户的 XID/访问令牌,这样您就不必重做 OAuth 握手。

之后,您将需要做出一些架构决策:

  • 您将如何存储用户的信息(上面#3 中的一些建议选项)?
  • 当用户离开你的应用程序时,你会注销用户吗?
  • 如果用户已注销,您会再次执行 OAuth 还是使用其他方法将返回的用户链接到现有的 XID/访问令牌?
  • 当访问令牌过期时(1 年后),您会使用刷新令牌自动刷新,还是让用户再次执行 OAuth?
于 2016-12-07T21:44:44.623 回答
0

我不确定,但是文档并没有真正表明该 API 是为你想要做的事情而设计的。我不认为它(从用户的角度)被设计用于 SSO。

于 2016-07-31T17:04:31.047 回答