|
4 | 4 | * for more information concerning the license and the contributors participating to this project.
|
5 | 5 | */
|
6 | 6 |
|
| 7 | +using System.Buffers.Text; |
7 | 8 | using System.Globalization;
|
8 | 9 | using System.Net;
|
9 | 10 | using System.Net.Http.Headers;
|
@@ -106,16 +107,15 @@ protected override async Task<AuthenticationTicket> CreateTicketAsync(
|
106 | 107 | [NotNull] ClaimsIdentity identity,
|
107 | 108 | [NotNull] AuthenticationProperties properties,
|
108 | 109 | [NotNull] OAuthTokenResponse tokens)
|
109 |
| - { |
110 |
| - var utcNow = TimeProvider.GetUtcNow(); |
| 110 | + { |
111 | 111 | using var request = new HttpRequestMessage(HttpMethod.Get, Options.UserInformationEndpoint);
|
112 | 112 | request.Headers.Add("access-token", tokens.AccessToken);
|
113 | 113 | request.Headers.Add("x-bili-accesskeyid", Options.ClientId);
|
114 | 114 | request.Headers.Add("x-bili-content-md5", "d41d8cd98f00b204e9800998ecf8427e");
|
115 | 115 | request.Headers.Add("x-bili-signature-method", "HMAC-SHA256");
|
116 |
| - request.Headers.Add("x-bili-signature-nonce", utcNow.ToUnixTimeMilliseconds().ToString(CultureInfo.InvariantCulture)); |
| 116 | + request.Headers.Add("x-bili-signature-nonce", Base64Url.EncodeToString(RandomNumberGenerator.GetBytes(256 / 8))); |
117 | 117 | request.Headers.Add("x-bili-signature-version", "2.0");
|
118 |
| - request.Headers.Add("x-bili-timestamp", utcNow.ToUnixTimeSeconds().ToString(CultureInfo.InvariantCulture)); |
| 118 | + request.Headers.Add("x-bili-timestamp", TimeProvider.GetUtcNow().ToUnixTimeSeconds().ToString(CultureInfo.InvariantCulture)); |
119 | 119 |
|
120 | 120 | var signature = BuildSignatureString(request, Options.ClientSecret);
|
121 | 121 | request.Headers.Add("Authorization", signature);
|
|
0 commit comments