【问题标题】:How to security save Facebook response token to React app?如何安全地将 Facebook 响应令牌保存到 React 应用程序?
【发布时间】:2018-09-17 03:49:20
【问题描述】:

我正在开发一个使用 facebook 登录的 React 应用程序,登录成功后,facbook 返回用户当前经理的页面列表,包括令牌。这些令牌我将来会在我的应用程序中使用。这是我要保存的回复:

[
 {
   // page 1
   access_token: "this_is_token",
   category: "Community",
   id: "461787374317076",
   name: "page_name",
   ......
 },
 {
   // page 2
 },
 ....// other pages
]

但我不知道如何在我的应用中保存此响应以确保安全。哪个最安全? Redux 状态(不安全),Redux 存储?饼干?本地存储?还是内存?

在我的应用中,我会多次使用这些令牌,所以我认为应该将它们分派到 Redux 商店,但它安全吗?

非常感谢!

【问题讨论】:

    标签: reactjs token


    【解决方案1】:

    您收到的令牌里面没有密码。
    你是说你能不能把它存放在任何地方?
    我们现在所在的网站(stackoverflow)也将该令牌存储在本地存储中

    您可以在这张图片中看到他们将令牌存储在本地存储中。


    安全吗?
    是的,因为它没有任何重要数据,例如密码或信用卡号。此外,如果您作为用户在您的计算机上拥有此令牌,那么您不会将此字符串提供给其他人以访问您的帐户(就像您向某人提供您的密码,这不是开发人员的错)并且此字符串太大以至于没有其他人可以自己创建可接受的字符串。
    redux / cookies / localstorage ? 我使用它的方式是。在登录/注册时,我将在本地存储和请求标头中设置它,刷新后我将首先检查本地存储中是否存在令牌,如果是,则需要再次设置标头,因为刷新时它们将丢失。



    通过 axios,您可以轻松设置这样的标题。然后在服务器上,您需要从请求中获取标头并验证您的令牌。
    import axios from 'axios'
    
    export default function setAuthToken(token){
    
        if(token){
            axios.defaults.headers.common['autherization'] = `Bearer ${token}`
        }
        else{
            delete axios.defaults.headers.common['autherization']
        }
    }
    

    【讨论】:

    猜你喜欢
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2021-04-02
    相关资源
    最近更新 更多