More customization
This commit is contained in:
		
							parent
							
								
									8a40e9fb48
								
							
						
					
					
						commit
						57a93f63f0
					
				| @ -82,6 +82,18 @@ public static class CommonExtensions | |||||||
|         app.UseSwagger(); |         app.UseSwagger(); | ||||||
|         app.UseSwaggerUI(setup => |         app.UseSwaggerUI(setup => | ||||||
|         { |         { | ||||||
|  |             /// { | ||||||
|  |             ///   "OpenApi": { | ||||||
|  |             ///     "Endpoint: { | ||||||
|  |             ///         "Name":  | ||||||
|  |             ///     }, | ||||||
|  |             ///     "Auth": { | ||||||
|  |             ///         "ClientId": .., | ||||||
|  |             ///         "AppName": .. | ||||||
|  |             ///     } | ||||||
|  |             ///   } | ||||||
|  |             /// } | ||||||
|  | 
 | ||||||
|             var pathBase = configuration["PATH_BASE"]; |             var pathBase = configuration["PATH_BASE"]; | ||||||
|             var openApiSection = configuration.GetRequiredSection("OpenApi"); |             var openApiSection = configuration.GetRequiredSection("OpenApi"); | ||||||
|             var authSection = openApiSection.GetRequiredSection("Auth"); |             var authSection = openApiSection.GetRequiredSection("Auth"); | ||||||
| @ -104,31 +116,42 @@ public static class CommonExtensions | |||||||
| 
 | 
 | ||||||
|             /// { |             /// { | ||||||
|             ///   "OpenApi": { |             ///   "OpenApi": { | ||||||
|             ///     "Endpoint: { |  | ||||||
|             ///         "Name":  |  | ||||||
|             ///     }, |  | ||||||
|             ///     "Document": { |             ///     "Document": { | ||||||
|             ///         "Title": .. |             ///         "Title": .. | ||||||
|             ///         "Version": .. |             ///         "Version": .. | ||||||
|             ///         "Description": .. |             ///         "Description": .. | ||||||
|             ///     }, |  | ||||||
|             ///     "Auth": { |  | ||||||
|             ///         "ClientId": .., |  | ||||||
|             ///         "AppName": .. |  | ||||||
|             ///     } |             ///     } | ||||||
|             ///   } |             ///   } | ||||||
|             /// } |             /// } | ||||||
|  |             var document = openApi.GetRequiredSection("Document"); | ||||||
| 
 | 
 | ||||||
|             var version = openApi.GetRequiredValue("Version") ?? "v1"; |             var version = document.GetRequiredValue("Version") ?? "v1"; | ||||||
| 
 | 
 | ||||||
|             options.SwaggerDoc(version, new OpenApiInfo |             options.SwaggerDoc(version, new OpenApiInfo | ||||||
|             { |             { | ||||||
|                 Title = openApi.GetRequiredValue("Title"), |                 Title = document.GetRequiredValue("Title"), | ||||||
|                 Version = version, |                 Version = version, | ||||||
|                 Description = openApi.GetRequiredValue("Description") |                 Description = document.GetRequiredValue("Description") | ||||||
|             }); |             }); | ||||||
| 
 | 
 | ||||||
|             var identityUrlExternal = configuration.GetRequiredValue("IdentityUrlExternal"); |             var identitySection = configuration.GetSection("Identity"); | ||||||
|  | 
 | ||||||
|  |             if (identitySection is null) | ||||||
|  |             { | ||||||
|  |                 // No identity section, so no authentication open api definition | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             // { | ||||||
|  |             //   "Identity": { | ||||||
|  |             //     "ExternalUrl": "http://identity", | ||||||
|  |             //     "Scopes": { | ||||||
|  |             //         "basket": "Basket API" | ||||||
|  |             //      } | ||||||
|  |             //    } | ||||||
|  |             // } | ||||||
|  | 
 | ||||||
|  |             var identityUrlExternal = identitySection.GetRequiredValue("ExternalUrl"); | ||||||
|             var scopes = openApi.GetRequiredSection("Scopes").AsEnumerable().ToDictionary(p => p.Key, p => p.Value); |             var scopes = openApi.GetRequiredSection("Scopes").AsEnumerable().ToDictionary(p => p.Key, p => p.Value); | ||||||
| 
 | 
 | ||||||
|             options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme |             options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme | ||||||
| @ -140,7 +163,7 @@ public static class CommonExtensions | |||||||
|                     { |                     { | ||||||
|                         AuthorizationUrl = new Uri($"{identityUrlExternal}/connect/authorize"), |                         AuthorizationUrl = new Uri($"{identityUrlExternal}/connect/authorize"), | ||||||
|                         TokenUrl = new Uri($"{identityUrlExternal}/connect/token"), |                         TokenUrl = new Uri($"{identityUrlExternal}/connect/token"), | ||||||
|                         Scopes = openApi.GetRequiredSection("Scopes").AsEnumerable().ToDictionary(p => p.Key, p => p.Value), |                         Scopes = scopes, | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|             }); |             }); | ||||||
| @ -258,7 +281,7 @@ public static class CommonExtensions | |||||||
|         // { |         // { | ||||||
|         //   "EventBus": { |         //   "EventBus": { | ||||||
|         //     "ProviderName": "ServiceBus | RabbitMQ", |         //     "ProviderName": "ServiceBus | RabbitMQ", | ||||||
|         //     "ConnectionString": "Endpoint=sb://eshop-eventbus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=..." |         //     "ConnectionString": "..." | ||||||
|         //   } |         //   } | ||||||
|         // } |         // } | ||||||
| 
 | 
 | ||||||
| @ -293,7 +316,7 @@ public static class CommonExtensions | |||||||
|         // { |         // { | ||||||
|         //   "EventBus": { |         //   "EventBus": { | ||||||
|         //     "ProviderName": "ServiceBus", |         //     "ProviderName": "ServiceBus", | ||||||
|         //     "ConnectionString": "Endpoint=sb://eshop-eventbus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=..." |         //     "ConnectionString": "..." | ||||||
|         //     "SubscriptionClientName": "eshop_event_bus" |         //     "SubscriptionClientName": "eshop_event_bus" | ||||||
|         //   } |         //   } | ||||||
|         // } |         // } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user