相关疑难解决方法(0)

如何在AngularJS中设置cookie的到期日期

  1. 我们希望将用户的授权信息存储在cookie中,在刷新(F5)浏览器时不应丢失.

  2. 我们希望将授权信息存储在"永久cookie"中,以防用户在登录时选择"记住我"复选框.

javascript cookies session-cookies angularjs angular-cookies

79
推荐指数
5
解决办法
9万
查看次数

在AngularJS +页面刷新中传递页面之间的数据

我试图在应用程序的结帐过程中在页面之间传递数据,但它没有按照应有的方式工作.我做了一些阅读,大多数人建议使用服务,但唯一的问题是当页面刷新(用户点击刷新或稍后返回)时,服务中的所有数据都会消失.这是有道理的,因为服务中的数据并不是持久的,而是导致问题.

所以问题是:如何在angularJS中的页面之间传递数据,并保持页面刷新后传递的数据?

这是我的代码到目前为止(我尝试使用查询字符串):

.service('checkoutService', 
          function checkoutService($location, Address, $routeParams, TicketGroup) {
    var ticket_quantity = 0;
    var ticket_group = {};
    var selected_address = {};

    this.loadInformation = function() {
        if(!ticket_quantity && $routeParams.ticket_quantity)
            ticket_quantity = $routeParams.ticket_quantity;
        if(!ticket_group && $routeParams.ticket_group_id)
            ticket_group = TicketGroup.get({id: $routeParams.ticket_group_id});
        if(!selected_address && $routeParams.address_id)
            selected_address = Address.get({id: $routeParams.address_id});
    }

    this.setTicketQuantity = function(quantity) {
        ticket_quantity = quantity;
        $location.path().search({ticket_quantity: quantity});
    }
    this.getTicketQuantity = function() {
        return ticket_quantity;
    }

    this.setTicketGroup = function(object) {
        ticket_group = object;
        $routeParams.ticket_group = object.id;
    }
    this.getTicketGroup  = function() {
        return …
Run Code Online (Sandbox Code Playgroud)

angularjs

9
推荐指数
1
解决办法
1万
查看次数

如何在端到端测试中测试AngularJS cookie?

我有一个简单的服务,以角度设置cookie,但没有明显的方法来测试它们是否已经设置在端到端测试中.

要测试的代码就像

var splashApp = angular.module('splashApp', ['ngCookies']);
splashApp.controller('FooterController', function ($location, $cookies) {
    $cookies.some_cookie = $location.absUrl();
});
Run Code Online (Sandbox Code Playgroud)

但我找不到任何关于如何测试的文档.这是我发现的:

我也试过了

angular.scenario.dsl('cookies', function() {
  var chain = {};
  chain.get = function(name) {
    return this.addFutureAction('get cookies', function($window, $document, done) {
      var injector = $window.angular.element($window.document.body).inheritedData('$injector');
      var cookies = injector.get('$cookies');
      done(null, cookies);
    });
  };
  return function() {
    return chain;
  }
});
Run Code Online (Sandbox Code Playgroud)

但是这只返回父浏览器的cookie,而不是我想要测试的页面.

有关如何执行此操作的任何示例?

testing end-to-end angularjs

6
推荐指数
1
解决办法
961
查看次数

AngularJS - 服务器端index.html和身份验证

在观看AngularJS"Massive AngularJS apps"演示文稿(https://docs.google.com/file/d/0B4F6Csor-S1cNThqekp4NUZCSmc/edit)之后,我试图实现以下场景

1)用户请求index.html(服务器端生成)
2)Flask检查是否存在身份验证cookie
3)如果缺少cookie,则重定向到login.html(还生成服务器端)
4)在登录页面上,POST登录信息.
5)Flask验证用户+密码 - >设置cookie,重定向到/
6)Flask检查cookie,检索用户配置文件+生成index.html
7)客户端app启动
8)客户端应该调用/ token(带cookie)
9)Flask验证请求,生成新访问+刷新令牌并使exp cookie失效
10)客户端收到令牌并可以使用令牌使用基本身份验证头进行正常的REST调用

我遇到的问题是一旦必须生成index.html,就实现了维护身份验证的方式.我建议将令牌包含在索引页面的配置文件中(作为javascript变量),当angularjs配置时,将其复制到window.session存储中,但我不太确定它的安全性如何?

这是一个可接受的流量安全明智和/或有更好的方法吗?

编辑:更新的问题+添加了我将用作序列图的流程:EDIT2:我注意到我无法重新加载页面,因为cookie将过期,所以我开始怀疑使用访问令牌..

登录流程

security flask angularjs

5
推荐指数
1
解决办法
1807
查看次数