我将基于令牌的身份验证与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()