Я работаю над Asp. Net Web API 2 с аутентификацией на основе токенов (OAuth2).
Я создаю метод, который генерирует токен доступа вручную.
Конечная точка /token
создает поле "expires_in", которое устанавливается в 14 дней в секундах.
Интересная вещь происходит, когда я использую тот же метод, чтобы получить 14 дней в секундах из метода, который создает токен вручную.
Поле "expires_in" созданного вручную токена содержит 1209600 в качестве значения, в то время как конечная точка "\ token" возвращает 1209599 .
Ниже приведен пример результата конечной точки "\ token":
{
"access_token": "z0YqHybCiUk...",
"token_type": "bearer",
"expires_in": 1209599,
"userName": "demo@gmail.com",
".issued": "Mon, 01 Jul 2019 06:09:27 GMT",
".expires": "Mon, 15 Jul 2019 06:09:27 GMT"
}
Ниже приведен пример ответа, созданного ручным методом:
{
"ResponseCode": 0,
"DeveloperMessage": "Response code not specified.",
"ClientMessage": null,
"Data": {
"access_token": "CAlDKp0qc83Aj2...",
"token_type": "bearer",
"userName": "pro.kishan16@gmail.com",
"expires_in": 1209600,
".issued": "",
".expires": ""
},
"Exception": null
}
Вот как он генерируется вручную
var tokenExpiration = TimeSpan.FromDays(Startup.TokenExpirationInDays);
А вот как это настроено в Startup.Auth.cs
AccessTokenExpireTimeSpan = TimeSpan.FromDays(TokenExpirationInDays),