gpt4 book ai didi

AngularJS 访问 token 安全问题

转载 作者:行者123 更新时间:2023-12-04 12:53:51 25 4
gpt4 key购买 nike

从授权服务器检索访问 token 后,在 AngularJS 中存储访问 token 的最佳实践是什么?我看到了很多使用 localStorage 服务的建议,但后来我阅读了其他帖子/博客,说永远不要使用 localStorage 来存储 token ,它不安全等。

由于上述混合信息,我很难用 Angular 解决安全问题。

最佳答案

我认为,

  • 生成 token (服务器端的敏感信息)
  • 使用只有服务器知道的机器 key 对生成的 token 进行签名和加密。并获取加密 token 。
  • 然后将step2得到的加密token保存在cookies中。
  • Cookie 的过期时间应该非常少。制作 httponly cookie。

  • 验证 cookie 时
  • 验证 cookie
  • 使用机器 key 解密并验证它是否仅由我们的服务器发送并使用相同的 crc。
  • 如果上面的 step2 是好的,则对获取的 token 进行身份验证。

  • Angularjs 自动在每个 $http 请求中添加 header ,
    AngularAppFactory.GetApp=function(appName){
    var app = angular.module(appName, []);

    app.factory('httpRequestInterceptor', ['$rootScope', function($rootScope)
    {
    return {
    request: function($config) {
    if( $rootScope.user.authToken )
    {
    $config.headers['id'] = $rootScope.user.id;
    $config.headers['auth-token'] = $rootScope.user.authToken;
    }

    return $config;
    }
    };
    }]);

    app.config(function ($httpProvider) {
    $httpProvider.interceptors.push('httpRequestInterceptor');
    });

    return app;
    }



    //Whenever you need to get new angular app, you can call this function.
    app = AngularAppFactory.GetApp('appName');

    关于AngularJS 访问 token 安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25691350/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com