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