Oauth2没有服务器或AWS lambda

时间:2016-06-15 17:15:07

标签: javascript oauth-2.0 aws-lambda

我正在尝试设计一个Web应用程序,它将通过其API从Fitbit查询数据,并以不同的形式向用户显示。所有这些数据功能都在Javascript中实现,并在客户端(即在浏览器中)执行 - 不需要后端或存储。

我正在努力进行身份验证。 Fitbit提供Oauth2,我有以下问题:

  1. 我必须有一个服务器端组件(提供回调),还是可以在客户端完全处理它?<​​/ li>
  2. 如果只有Fitbit的Ouath需要这个服务器端,那么有没有人在AWS Lambda中有这样做的例子?我想我只需要两个函数:一个用于启动身份验证,另一个用于回调。我不确定在哪里/如何存储令牌以及如何管理用户会话。

1 个答案:

答案 0 :(得分:1)

您可以使用隐式流在客户端(JS)执行oAuth授权,而无需任何服务器端代码。

然而,服务器端实现(授权代码流)和客户端实现(隐式流)之间几乎没有差异。与Fitbit-Implicit流相关的具体细节列于here

您可以使用许多oAuth2客户端库中的一个来执行令牌交换。我更喜欢使用oidc-client-js进行oAuth2令牌交换(以及OIDC客户端实现)