2015-08-20 28 views
7

Özel bir OAuthAuthorizationServerProvider'da belirli bir bilet için varsayılan AccessTokenExpireTimeSpan'ı geçersiz kılmak mümkün mü? Diğer tüm biletler için varsayılan son kullanma süresi 15 dakikadır.AccessTokenExpireTimeSpan'ı geçersiz kılma

Oluşan == true ile oluşturulan belirteç varsayılan son kullanma süresine (15 dakika) sahiptir. Context.Options.AccessTokenExpireTimeSpan'ı değiştirmek istemiyorum çünkü tüm simgeleri etkiliyor ve bu bir fikir değil.

cevap

11

Sen GrantResourceOwnerCredentials yöntemin yerine TokenEndPoint yönteminde son kullanma zamanını ayarlamak zorunda:

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

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

    ... 
} 

ben yardımcı olur.

DÜZENLEME her biri için farklı bir AccessTokenExpireTimeSpan sen geçersiz kılabilirsiniz CLIENT_ID varsa doğrulanırken response benzer bir soruya, varsayılan istemci bir ile bağlam seçeneklerinde AccessTokenExpireTimeSpan yapılandırılmış onun içinde Michael tarafından belirttiği gibi

İstemci kimlik doğrulaması:

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

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

    ... 
}