src/Web/WebMVC/Extensions/HttpClientExtensions.cs

(完整代码) 1KB

namespace Microsoft.eShopOnContainers.WebMVC.Extensions;

public static class HttpClientExtensions
{
    public static void SetBasicAuthentication(this HttpClient client, string userName, string password) =>
        client.DefaultRequestHeaders.Authorization = new BasicAuthenticationHeaderValue(userName, password);

    public static void SetToken(this HttpClient client, string scheme, string token) =>
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(scheme, token);

    public static void SetBearerToken(this HttpClient client, string token) =>
        client.SetToken(JwtConstants.TokenType, token);
}

public class BasicAuthenticationHeaderValue : AuthenticationHeaderValue
{
    public BasicAuthenticationHeaderValue(string userName, string password)
        : base("Basic", EncodeCredential(userName, password))
    { }

    private static string EncodeCredential(string userName, string password)
    {
        Encoding encoding = Encoding.GetEncoding("iso-8859-1");
        string credential = String.Format("{0}:{1}", userName, password);

        return Convert.ToBase64String(encoding.GetBytes(credential));
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。