File tree Expand file tree Collapse file tree 2 files changed +20
-5
lines changed
Microsoft.OpenApi.Readers/V3
Microsoft.OpenApi/Services Expand file tree Collapse file tree 2 files changed +20
-5
lines changed Original file line number Diff line number Diff line change @@ -76,7 +76,11 @@ internal static partial class OpenApiV3Deserializer
76
76
public static OpenApiSecurityScheme LoadSecurityScheme ( ParseNode node )
77
77
{
78
78
var mapNode = node . CheckMapNode ( "securityScheme" ) ;
79
-
79
+ var pointer = mapNode . GetReferencePointer ( ) ;
80
+ if ( pointer != null )
81
+ {
82
+ return mapNode . GetReferencedObject < OpenApiSecurityScheme > ( ReferenceType . SecurityScheme , pointer ) ;
83
+ }
80
84
var securityScheme = new OpenApiSecurityScheme ( ) ;
81
85
foreach ( var property in mapNode )
82
86
{
Original file line number Diff line number Diff line change 1
- // Copyright (c) Microsoft Corporation. All rights reserved.
1
+ // Copyright (c) Microsoft Corporation. All rights reserved.
2
2
// Licensed under the MIT license.
3
3
4
4
using System ;
@@ -116,7 +116,18 @@ internal void Walk(OpenApiComponents components)
116
116
}
117
117
}
118
118
} ) ;
119
-
119
+
120
+ Walk ( OpenApiConstants . SecuritySchemes , ( ) =>
121
+ {
122
+ if ( components . SecuritySchemes != null )
123
+ {
124
+ foreach ( var item in components . SecuritySchemes )
125
+ {
126
+ Walk ( item . Key , ( ) => Walk ( item . Value , isComponent : true ) ) ;
127
+ }
128
+ }
129
+ } ) ;
130
+
120
131
Walk ( OpenApiConstants . Callbacks , ( ) =>
121
132
{
122
133
if ( components . Callbacks != null )
@@ -996,9 +1007,9 @@ internal void Walk(OpenApiSecurityRequirement securityRequirement)
996
1007
/// <summary>
997
1008
/// Visits <see cref="OpenApiSecurityScheme"/> and child objects
998
1009
/// </summary>
999
- internal void Walk ( OpenApiSecurityScheme securityScheme )
1010
+ internal void Walk ( OpenApiSecurityScheme securityScheme , bool isComponent = false )
1000
1011
{
1001
- if ( securityScheme == null || ProcessAsReference ( securityScheme ) )
1012
+ if ( securityScheme == null || ProcessAsReference ( securityScheme , isComponent ) )
1002
1013
{
1003
1014
return ;
1004
1015
}
You can’t perform that action at this time.
0 commit comments