了解oAuth隐式流程

时间:2018-09-18 03:33:04

标签: oauth twitch

我正在使用New Twitch API,希望使用javascript从端点获取数据。

端点https://dev.twitch.tv/docs/api/reference/#get-streams

为了进行测试,我使用Postman达到了终点,并且可以正常工作。

根据文档,我需要提供一个client-id,可以从开发人员仪表板中获取它,并将其添加为Postman中的标头。

让我感到困惑的是,只要您有client-id (使用JS时就会暴露出来),任何人都可以访问此端点?是什么阻止某人采取我的client-id或我采取其他措施并将其用于自己的目的,这有什么风险?

1 个答案:

答案 0 :(得分:1)

通常,Redirection URL是关键所在。

流程如下:

  1. 您在Twitch上注册了您的应用程序。在此步骤中,您指定redirection URLhttps://dev.twitch.tv/docs/authentication/#registration
  2. 用户访问了使用API​​的网页
  3. 用户需要进行身份验证。该网页随其Client ID
  4. 切换到Twitch OAUTH认证页面。
  5. 用户通过Twitch进行身份验证
  6. Twitch将用户与Redirection URL一起重定向到步骤#1中设置的Bearer Token

正如您在步骤5中看到的那样,令牌只会发送回您的 Redirection URL.,如果另一个网站试图使用您的Client ID对用户进行身份验证,它们将永远不会收到令牌。

我认为您可能会遇到麻烦的领域是速率限制。 Twitch将您限制为每分钟Client ID使用30条查询,而没有Bearer Token或每分钟进行120条查询。如果恶意用户正在使用您的客户ID,那么它将吞噬您的速率限制。 https://dev.twitch.tv/docs/api/guide/