Google chrome extension 使用Google Chrome扩展存储OAuth 2.0访问/刷新令牌的最佳实践?

Google chrome extension 使用Google Chrome扩展存储OAuth 2.0访问/刷新令牌的最佳实践?,google-chrome-extension,oauth-2.0,local-storage,access-token,refresh-token,Google Chrome Extension,Oauth 2.0,Local Storage,Access Token,Refresh Token,我正在创建一个Google Chrome扩展,它在Instagram个人资料页面上为图像添加上传按钮。扩展将上载到的服务是Imgur 因为我最终希望用户能够在他们的帐户上上传到特定的Imgur相册,所以我需要从imgurapi获得OAuth访问令牌 为此,我做了以下工作。单击浏览器中的扩展图标时,将打开一个新选项卡(不是弹出窗口)。此选项卡打开index.html。单击该页面上的登录按钮将调用授权URL 但是一旦我收到访问/刷新令牌,我应该在哪里安全地存储它们呢?我不认为我可以把它们放在loca

我正在创建一个Google Chrome扩展,它在Instagram个人资料页面上为图像添加上传按钮。扩展将上载到的服务是Imgur

因为我最终希望用户能够在他们的帐户上上传到特定的Imgur相册,所以我需要从imgurapi获得OAuth访问令牌

为此,我做了以下工作。单击浏览器中的扩展图标时,将打开一个新选项卡(不是弹出窗口)。此选项卡打开index.html。单击该页面上的登录按钮将调用授权URL

但是一旦我收到访问/刷新令牌,我应该在哪里安全地存储它们呢?我不认为我可以把它们放在localStorage中,因为据我所知,每个来源都有自己的localStorage

存储OAuth 2.0访问令牌和刷新令牌的最佳实践是什么

//oauth.js
让loginStatus=false;
如果(!loginStatus){
createElement(“p”,“您未登录到Imgur”,“登录状态”);
createElement(“按钮”、“登录到Imgur”、“登录状态”、“登录到Imgur”);
}否则{
createElement(“p”,“您已成功登录到Imgur”,“登录状态”);
createElement(“按钮”、“Imgur注销”、“登录状态”、函数(){
警报(“这是一个占位符”);
});
}
函数createElement(类型、文本、父ID、onclick){
常量元素=document.createElement(类型);
const textNode=document.createTextNode(文本);
元素appendChild(textNode);
如果(onclick){
element.onclick=onclick;
}
document.getElementById(parentId)
.子元素(元素);
返回元素;
}
函数loginToImgur(){
const AUTH_URL=”https://api.imgur.com/oauth2/authorize?response_type=token&client_id=";
chrome.identity.launchWebAuthFlow({
url:AUTH\u url,//打开一个窗口来启动Imgur OAuth授权并获取访问令牌
互动:真的
},功能(responseUrl){
控制台日志(responseUrl);
//我们想要的访问令牌将在响应URL中找到,在#符号之后的某处。
提取代币(responseUrl);
});
}
函数提取令牌(responseURL){
const accessToken=responseURL.split(“#”)[1]
.split(“access_token=”)[1]
.split(“&”)[0];
日志(accessToken);
返回accessToken;
}

Instagram至Imgur
登录页面

您检查过这个吗?谢谢。是的,我有。我认为这是不对的,因为chrome.storage的文档明确警告不要将机密用户数据放入其中。