Siesta框架会在链式重复请求中运行装饰器吗?

时间:2019-06-29 11:09:34

标签: siesta-swift

我将基于令牌的身份验证与jwt令牌一起使用。访问令牌的寿命很短,刷新令牌可以过期或可以被撤消。

访问令牌刷新过程是根据Siesta准则实施的。刷新令牌吊销过程是第一个过程的一部分。除非我有多个从我的iOS应用程序运行到服务器的并发请求,否则一切正常。如果多个请求中的访问令牌已过期,则第一个请求将成功刷新它。但是第二个将失败,因为它将提供与第一个请求已使用的相同的刷新令牌。为了克服这个问题,我在请求链接过程中使用了简单的防护措施。问题是id每次都会重新运行装饰器,并为请求提供新的访问令牌,还是当public class PersonDTO { public int PersonId { get; set; } public string FirstName { get; set;} public string MiddleName { get; set;} public string LastName { get; set; } public string NickName { get; set; } public string Suffix { get; set; } public datetime DateOfBirth { get; set; } public string GetFullName() { retun FirstName + " " + MidleName + " " + LastName; } } 标志重置时,它会以与我上面描述的相同的方式失败吗?

在代码注释中看到一些问题

public void MapToPersonDTO(){

    var selectedPerson = _context.Person.FirstOrDefault(m => m.PersonId == 1);

    var personDto = new PersonDTO(){
        FirstName = _context.Name.FirstOrDefault(n=>n.NameId == selectedPerson.PersonsName.FirstOrDefault(f=>f.NameType_NameTypeId == 1)).Value,
        MiddleName= _context.Name.FirstOrDefault(n=>n.NameId == selectedPerson.PersonsName.FirstOrDefault(f=>f.NameType_NameTypeId == 2)).Value,
        LastName  = _context.Name.FirstOrDefault(n=>n.NameId == selectedPerson.PersonsName.FirstOrDefault(f=>f.NameType_NameTypeId == 3)).Value,
        NickName  = _context.Name.FirstOrDefault(n=>n.NameId == selectedPerson.PersonsName.FirstOrDefault(f=>f.NameType_NameTypeId == 4)).Value,
    };
}
request.repeated()

0 个答案:

没有答案