javascript - 没有服务器或使用 AWS lambda 的 Oauth2

标签 javascript oauth-2.0 aws-lambda

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

然而,我正在为身份验证而苦苦挣扎。 Fitbit 提供了 Oauth2,我有以下问题:

  1. 我必须有一个服务器端组件(提供回调)还是可能完全在客户端处理它?<​​/li>
  2. 如果仅 Fitbit 的 Ouath 需要此服务器端,有人有在 AWS Lambda 中执行此操作的示例吗?我想我只需要两个函数:一个用于启动身份验证,一个用于回调。但是我不确定在哪里/如何存储 token 以及如何管理用户 session 。

最佳答案

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

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

您可以使用许多 oAuth2 客户端库之一来执行 token 交换。我更喜欢使用 oidc-client-js用于 oAuth2 token 交换(以及用于 OIDC 客户端实现)

关于javascript - 没有服务器或使用 AWS lambda 的 Oauth2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841776/

相关文章:

asp.net-web-api - 每个资源服务器的 JWT 多个受众

node.js - 解压缩 lambda 中作为二进制数据接收的数据 - 错误的 header 检查

java - 使用 Lambda 设置 DynamoDB 触发器

javascript - Kinect SDK for HTML 5 Javascript,可识别 4 人

javascript - 通过样式属性值选择 JQuery 中的元素

java - 如何更改 OAuth2ClientAuthenticationProcessingFilter 的 successHandler?

ssl - oauth2_proxy 不要求身份验证

python - 如何获取AWS lambda函数的日志流的唯一标识符?

javascript - jquery在一个元素内向上滑动两个元素并向下滑动一个元素

javascript - Ajax 内容未在 IE7 和 8 上显示 - 适用于 IE9 和 FF