public Dictionary GetOpenApiSecuritySchemes()

in src/Microsoft.Azure.WebJobs.Extensions.OpenApi.Core/DocumentHelper.cs [200:236]


        public Dictionary<string, OpenApiSecurityScheme> GetOpenApiSecuritySchemes(List<MethodInfo> elements, NamingStrategy namingStrategy = null)
        {
            var schemes = new Dictionary<string, OpenApiSecurityScheme>();
            foreach (var element in elements)
            {
                var attributes = element.GetCustomAttributes<OpenApiSecurityAttribute>(inherit: false);
                if (!attributes.Any())
                {
                    continue;
                }

                foreach (var attr in attributes)
                {
                    if (schemes.ContainsKey(attr.SchemeName))
                    {
                        continue;
                    }

                    var scheme = new OpenApiSecurityScheme()
                    {
                        Type = attr.SchemeType,
                        Description = attr.Description,
                        Name = GetSecuritySchemeName(attr),
                        In = GetSecuritySchemeLocation(attr),
                        Scheme = GetSecuritySchemeScheme(attr, namingStrategy),
                        BearerFormat = GetSecurityBearerFormat(attr),
                        Flows = GetSecurityOAuthFlows(attr),
                        OpenIdConnectUrl = GetSecurityOpenIdConnectUrl(attr),
                        Reference = GetSecurityReference(attr),
                    };

                    schemes.Add(attr.SchemeName, scheme);
                }
            }

            return schemes;
        }