使用 REST 服务和 Javascript 存储令牌的 Linkedin 登录

Linkedin Login using REST service and Javascript to store tokens

我正在尝试开发一个在客户端使用 Javascript 并使用其余 Web 服务的示例应用程序。我是 LinkedIn ans 社交网络 APIs 的新手。 Si 我想先设置 LinkedIn 登录,然后再设置其他社交网络。

Linkedin API 使用 OAuth2。如果用户授权应用程序访问它的一些基本数据,我想用它来存储给我们的令牌。

我正在考虑使用 REST API,这样就可以为授权用户请求令牌,并通过开发的 RESTful 网络服务将它们存储在数据库中。我知道,但我们想利用我们现在拥有的东西。

上图说明了我的想法。如果我错了请帮助。

另一个问题是我想使用令牌更新它或从社交网络获取一些数据。

您的方案可能存在一个严重的安全问题 - 如果您在第 3 步中不使用 https,则访问令牌不安全。

您正在尝试使用错误的案例。 OpenID Connect(OAuth2 扩展)等定义了以下身份验证方案:

  1. 隐式流程 - 您在步骤 #1 和 #2 中所做的事情。登录完全由客户端完成,访问令牌通过“#”URL 部分直接返回给它。 “#”URL 部分不会发送到服务器,即使您的页面是通过 http 加载的,它也是安全的。
  2. 授权码流程是一个两步过程,客户端发起登录以获取授权码(一次有效),然后将其交换为服务器端的访问令牌。访问令牌不应离开服务器端。

授权代码流还定义了可以存储在您的数据库中并用于在它们过期后获取新访问令牌的刷新令牌。