2014-09-27 13 views
5

Bazı denetim nedenlerinden ötürü, AccessToken'u oluşturulduktan sonra Db'ye kaydetmem istenirse, 'u döndüren Owin API Sınıfı var mı?Oauth2 AccessToken'i Owin Api'den oluşturulduktan sonra nasıl edinirsiniz?

public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) 
{ 
    //check user credentials 
    .... 
    context.Validated(ticket); 
    //Where should I get the generated token? 
    } 
} 

buldum tek geçici çözüm çıkış akışı okur Global.Asax bir Http filtre oluşturmak ve oradan Token elde etmektir.

Doğrudan bu Owin Api adresinden daha zarif bir yolu var mı?

cevap

7
Elbette yapabilirsin

ama Microsoft.Owin.Security.OAuth sürüm 3.0 değil 2.1 kullanmak ve sonra ben den accessToken temizlemeniz gerekiyor çıkış yapınca

public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context) 
    { 
     var accessToken = context.AccessToken; 
     return Task.FromResult<object>(null); 
    } 
+0

aşağıda kodu olarak sınıf OAuthAuthorizationServerProvider içinde TokenEndpointResponse geçersiz kılmak gerekir benim web API, lütfen nerede saklanacağını belirtin. – Pradeep

+0

Erişim belirtecini nasıl değiştireceğinizle ilgili herhangi bir fikir var mı? context.AccessToken = "newToken", bir düzenleyici olmadığı için çalışmak için görünmüyor. – ozzy432836

İlgili konular