2017-01-30 10 views
1

Я пытаюсь получить требование, содержащее лексему дату создания ... Я попытался следующие:Получение времени, в течение которого был открыт токен доступа?

var createdDate = contextAccessor.HttpContext.User.FindFirstValue("IssuedUtc"); 

var createdDate = contextAccessor.HttpContext.User.FindFirstValue("iss"); 

var createdDate = contextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.AuthenticationInstant); 

ответ

1

При использовании JWT в качестве маркера формата доступа, вы можете использовать iat претензии.

При использовании непрозрачного формата по умолчанию дата создания не сохраняется как требование, а как свойство аутентификации. Вы можете получить его с помощью API AuthenticationManager:

var result = await contextAccessor.HttpContext.Authentication.GetAuthenticateInfoAsync(OAuthValidationDefaults.AuthenticationScheme); 
var date = result.Properties.IssuedUtc; 

Примечание: второй вариант также работает с JWT, просто заменить константу OAuthValidationDefaults.AuthenticationScheme на JwtBearerDefaults.AuthenticationScheme.