2016-06-15 63 views
2

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

然而,我正在努力与认证。 Fitbit提供的oauth2,我有以下问题:

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

回答

1

您可以使用隐式流在没有任何服务器端代码的情况下在客户端(JS)执行oAuth授权。

但是,服务器端实现(授权码流)和客户端实现(隐式流)之间几乎没有区别。列出了与Fitbit-Implicit流程相关的具体细节here

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