1
0
mirror of https://github.com/bitwarden/server.git synced 2025-05-23 04:21:05 -05:00
bitwarden/src/Api/Utilities/TokenRetrieval.cs
Kyle Spearrin c4293afe57 typos
2017-05-06 09:12:45 -04:00

31 lines
902 B
C#

using Microsoft.AspNetCore.Http;
using System;
using System.Linq;
namespace Bit.Api.Utilities
{
public static class TokenRetrieval
{
public static Func<HttpRequest, string> FromAuthorizationHeaderOrQueryString(string headerScheme = "Bearer",
string qsName = "access_token")
{
return (request) =>
{
string authorization = request.Headers["Authorization"].FirstOrDefault();
if(string.IsNullOrWhiteSpace(authorization))
{
return request.Query[qsName].FirstOrDefault();
}
if(authorization.StartsWith(headerScheme + " ", StringComparison.OrdinalIgnoreCase))
{
return authorization.Substring(headerScheme.Length + 1).Trim();
}
return null;
};
}
}
}