14
14
using Microsoft . Extensions . DependencyInjection ;
15
15
using Microsoft . Extensions . DependencyInjection . Extensions ;
16
16
using Microsoft . Extensions . Logging ;
17
+ using Newtonsoft . Json ;
17
18
using Xunit ;
18
19
19
20
namespace Microsoft . Azure . WebJobs . Script . Tests . Integration . WebHostEndToEnd
@@ -84,7 +85,7 @@ public async Task InvokeAdminApi_InvalidAudience_Fails(string headerName)
84
85
var response = await _fixture . Host . HttpClient . SendAsync ( request ) ;
85
86
Assert . Equal ( HttpStatusCode . Unauthorized , response . StatusCode ) ;
86
87
87
- var validationError = _fixture . Host . GetScriptHostLogMessages ( ) . Single ( p => p . Level == LogLevel . Error ) ;
88
+ var validationError = _fixture . Host . GetScriptHostLogMessages ( ) . Single ( p => p . Level == LogLevel . Debug ) ;
88
89
Assert . Equal ( ScriptConstants . LogCategoryHostAuthentication , validationError . Category ) ;
89
90
Assert . Equal ( "Token audience validation failed for audience 'invalid'." , validationError . FormattedMessage ) ;
90
91
Assert . True ( validationError . Exception . Message . StartsWith ( "IDX10231: Audience validation failed." ) ) ;
@@ -112,7 +113,7 @@ public async Task InvokeAdminApi_InvalidIssuer_Fails(string headerName)
112
113
var response = await _fixture . Host . HttpClient . SendAsync ( request ) ;
113
114
Assert . Equal ( HttpStatusCode . Unauthorized , response . StatusCode ) ;
114
115
115
- var validationError = _fixture . Host . GetScriptHostLogMessages ( ) . Single ( p => p . Level == LogLevel . Error ) ;
116
+ var validationError = _fixture . Host . GetScriptHostLogMessages ( ) . Single ( p => p . Level == LogLevel . Debug ) ;
116
117
Assert . Equal ( ScriptConstants . LogCategoryHostAuthentication , validationError . Category ) ;
117
118
Assert . Equal ( "Token issuer validation failed for issuer 'invalid'." , validationError . FormattedMessage ) ;
118
119
Assert . Equal ( "IDX10205: Issuer validation failed." , validationError . Exception . Message ) ;
@@ -142,7 +143,7 @@ public async Task InvokeAdminApi_InvalidSignature_Fails(string headerName)
142
143
var response = await _fixture . Host . HttpClient . SendAsync ( request ) ;
143
144
Assert . Equal ( HttpStatusCode . Unauthorized , response . StatusCode ) ;
144
145
145
- var validationError = _fixture . Host . GetScriptHostLogMessages ( ) . Single ( p => p . Level == LogLevel . Error ) ;
146
+ var validationError = _fixture . Host . GetScriptHostLogMessages ( ) . Single ( p => p . Level == LogLevel . Debug ) ;
146
147
Assert . Equal ( ScriptConstants . LogCategoryHostAuthentication , validationError . Category ) ;
147
148
Assert . Equal ( "Token validation failed." , validationError . FormattedMessage ) ;
148
149
Assert . True ( validationError . Exception . Message . StartsWith ( "IDX10503: Signature validation failed." ) ) ;
@@ -160,6 +161,22 @@ public async Task InvokeAdminApi_ValidToken_UTF8Encoding_Succeeds()
160
161
response . EnsureSuccessStatusCode ( ) ;
161
162
}
162
163
164
+ [ Fact ]
165
+ public async Task InvokeNonAdminApi_InvalidToken_DoesNotLogTokenAuthFailure ( )
166
+ {
167
+ HttpRequestMessage request = new HttpRequestMessage ( HttpMethod . Post , $ "api/HttpTrigger-Scenarios?code=test") ;
168
+ request . Content = new StringContent ( JsonConvert . SerializeObject ( new { scenario = "staticWebApp" } ) ) ;
169
+ string key = SecretsUtility . GetEncryptionKeyValue ( ) ;
170
+ string token = _fixture . Host . GenerateAdminJwtToken ( issuer : "invalid" ) ;
171
+ request . Headers . Add ( ScriptConstants . SiteTokenHeaderName , token ) ;
172
+
173
+ var response = await _fixture . Host . HttpClient . SendAsync ( request ) ;
174
+ response . EnsureSuccessStatusCode ( ) ;
175
+
176
+ var validationErrors = _fixture . Host . GetScriptHostLogMessages ( ) . Where ( p => p . Category == ScriptConstants . LogCategoryHostAuthentication ) . ToArray ( ) ;
177
+ Assert . Empty ( validationErrors ) ;
178
+ }
179
+
163
180
public class TestFixture : EndToEndTestFixture
164
181
{
165
182
private TestScopedEnvironmentVariable _scopedEnvironment ;
0 commit comments