2014-03-06 14 views
1

我忙於實施和認證過濾器獲取自定義頭值:如何從HttpAuthenticationContext

public Task AuthenticateAsync(HttpAuthenticationContext context, CancellationToken cancellationToken) 
    { 
     var request = context.Request; 

     // Receive token from the client. Here is the example when token is in header: 
     var token = request.Headers.FirstOrDefault(x => x.Key == "Token").Value.ToString(); //["Token"]; 

我怎麼叫令牌的頭?因爲上面的代碼不起作用。我猜這是因爲它不是一個標準的標題。

回答

3
request.Headers.GetValues("token"); 
+0

等待,這就是答案?這不會返回一個IEnumerable? – LavaHot

+0

如果您期望一個值,您可以使用以下內容: var token = request.Headers.GetValues(「token」)。FirstOrDefault(); –

0

你應該實際使用

request.Headers.Authorization.Parameter; 
+0

這是什麼原因爲什麼應該用於其他答案? – Zapnologica