2015-08-20 24 views
7

ist möglich, den Standard AccessTokenExpireTimeSpan für ein bestimmtes Ticket auf einem benutzerdefinierten OAuthAuthorizationServerProvider außer Kraft zu setzen? Die Standardablaufzeit für alle anderen Tickets beträgt 15 Minuten.außer Kraft setzt AccessTokenExpireTimeSpan

Das generierte Token mit condition == true hat die Standardverfallszeit (15 Minuten). Ich möchte nicht die context.Options.AccessTokenExpireTimeSpan ändern, weil es alle Token beeinflusst und das ist nicht die Idee.

Antwort

11

Sie haben die Ablaufzeit in der TokenEndPoint Methode anstelle von GrantResourceOwnerCredentials Verfahren einzustellen:

public override Task TokenEndpoint(OAuthTokenEndpointContext context) 
{ 
    ... 

    if (condition) 
    { 
     context.Properties.ExpiresUtc = DateTime.UtcNow.AddDays(14); 
    } 

    ... 
} 

Ich hoffe, es hilft.

EDIT

Wie durch Michael wies seine response auf eine ähnliche Frage, wenn Sie eine andere AccessTokenExpireTimeSpan für jeweils CLIENT_ID Sie die Standard-eins mit dem Client AccessTokenExpireTimeSpan in den Kontextoptionen konfiguriert außer Kraft setzen kann, wenn die Validierung Client-Authentifizierung:

public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context) 
{ 
    ... 

    context.Options.AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(client.AccessTokenExpireTime); 

    ... 
} 
Verwandte Themen