Tokens de autorização da API da Web do ASP.NET expirando cedo

Eu implementei a segurança da minha API da Web (contas individuais), conforme discutidoaqui.

Eu hospedei o site em godaddy (hospedagem compartilhada) e está funcionando bem. Quando solicito um token usando a URL "domain.com/token", recebo o token com data de validade dentro de 15 dias. Eu configurei isso em "StartupAuth.cs" usando

AccessTokenExpireTimeSpan = TimeSpan.FromDays(15)

por exemplo.:

{
  "access_token":"qwertyuiop.....",
  "token_type":"bearer",
  "expires_in":1209599, 
  "userName":"[email protected]",
  ".issued":"Wed, 11 Feb 2015 01:00:00 GMT",
  ".expires":"Thu, 26 Feb 2015 01:00:00 GMT"
}

(Coloquei valores no código acima, mas você tem a ideia do campo ".expires".

5 minutos após a obtenção do token, quando tento acessar "get" ou "post" ou qualquer método na minha API, passando a autorização: token do portador no cabeçalho como:

Authorization: Bearer qwertyuiop.....

Eu recebo este erro:

{"Message":"Authorization has been denied for this request."}

Embora apenas cinco minutos e o token durem 15 dias, ele expira em 5 minutos. Quando solicito qualquer método "get" / "post" dentro de um intervalo de 5 minutos, recebo a resposta adequada com meus dados em JSON. Em suma, a autorização é bem-sucedida.

Repeti esse comportamento testando-o pelo Fiddler, plug-in REST do Chrome e pelo aplicativo móvel que usa a API.

Eu tenho valores web.config para a sessão como abaixo (eu pensei que fosse relacionado)

<sessionState timeout="180" />

Observe que a autenticação de formulários não é usada; portanto, o tempo limite nessa seção no web.config não é necessário.

Alguma idéia do que está acontecendo? Esse tempo limite está fazendo com que os usuários de aplicativos móveis que usam a API façam login novamente de vez em quando. Qualquer ajuda seria apreciada.

Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion