Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -484,6 +484,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}
});

if (!isDevelopment)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
using LINGYUN.Abp.Identity;
using LINGYUN.Abp.OpenIddict.LinkUser;
using LINGYUN.Abp.OpenIddict.Sms;
using LINGYUN.Abp.OpenIddict.WeChat;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration;
using OpenIddict.Abstractions;
using System;
using System.Collections.Generic;
Expand All @@ -11,8 +7,6 @@
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids;
using Volo.Abp.Identity;
using Volo.Abp.MultiTenancy;
using Volo.Abp.OpenIddict.Applications;
using Volo.Abp.OpenIddict.Scopes;
Expand All @@ -22,6 +16,30 @@ namespace LY.MicroService.AuthServer.DataSeeder;

public class ServerDataSeedContributor : IDataSeedContributor, ITransientDependency
{
public static HashSet<string> InitializeScopes = new HashSet<string>
{
// obsolete! microservice should be allocated separately
"lingyun-abp-application",
// admin service
"ams",
// identity service
"ids",
// localization service
"lts",
// platform service
"pts",
// message service
"mgs",
// task service
"tks",
// webhook service
"wks",
// workflow service
"wfs",
// wechat service
"was"
};

private readonly IConfiguration _configuration;
private readonly ICurrentTenant _currentTenant;
private readonly IOpenIddictApplicationManager _applicationManager;
Expand Down Expand Up @@ -54,33 +72,37 @@ public async Task SeedAsync(DataSeedContext context)
{
using (_currentTenant.Change(context.TenantId))
{
await CreateScopeAsync("lingyun-abp-application");
await CreateApplicationAsync("lingyun-abp-application");
await CreateScopeAsync(InitializeScopes);

await CreateApplicationAsync(InitializeScopes);
}
}

private async Task CreateScopeAsync(string scope)
private async Task CreateScopeAsync(IEnumerable<string> scopes)
{
if (await _scopeRepository.FindByNameAsync(scope) == null)
foreach (var scope in scopes)
{
await _scopeManager.CreateAsync(new OpenIddictScopeDescriptor()
if (await _scopeRepository.FindByNameAsync(scope) == null)
{
Name = scope,
DisplayName = scope + " access",
DisplayNames =
{
[CultureInfo.GetCultureInfo("zh-Hans")] = "Abp API 应用程序访问",
[CultureInfo.GetCultureInfo("en")] = "Abp API Application Access"
},
Resources =
await _scopeManager.CreateAsync(new OpenIddictScopeDescriptor()
{
scope
}
});
Name = scope,
DisplayName = scope + " access",
DisplayNames =
{
[CultureInfo.GetCultureInfo("zh-Hans")] = "Abp API 应用程序访问",
[CultureInfo.GetCultureInfo("en")] = "Abp API Application Access"
},
Resources =
{
scope
}
});
}
}
}

private async Task CreateApplicationAsync(string scope)
private async Task CreateApplicationAsync(IEnumerable<string> scopes)
{
var configurationSection = _configuration.GetSection("OpenIddict:Applications");

Expand All @@ -91,7 +113,7 @@ private async Task CreateApplicationAsync(string scope)

if (await _applicationRepository.FindByClientIdAsync(vueClientId) == null)
{
await _applicationManager.CreateAsync(new OpenIddictApplicationDescriptor
var application = new OpenIddictApplicationDescriptor
{
ClientId = vueClientId,
ClientSecret = configurationSection["VueAdmin:ClientSecret"],
Expand Down Expand Up @@ -138,9 +160,14 @@ await _applicationManager.CreateAsync(new OpenIddictApplicationDescriptor
OpenIddictConstants.Permissions.Scopes.Email,
OpenIddictConstants.Permissions.Scopes.Address,
OpenIddictConstants.Permissions.Scopes.Phone,
OpenIddictConstants.Permissions.Prefixes.Scope + scope
}
});
};
foreach (var scope in scopes)
{
application.Permissions.AddIfNotContains(OpenIddictConstants.Permissions.Prefixes.Scope + scope);
}

await _applicationManager.CreateAsync(application);

var vueClientPermissions = new string[1]
{
Expand All @@ -155,7 +182,7 @@ await _applicationManager.CreateAsync(new OpenIddictApplicationDescriptor
{
if (await _applicationRepository.FindByClientIdAsync(internalServiceClientId) == null)
{
await _applicationManager.CreateAsync(new OpenIddictApplicationDescriptor
var application = new OpenIddictApplicationDescriptor
{
ClientId = internalServiceClientId,
ClientSecret = configurationSection["InternalService:ClientSecret"],
Expand Down Expand Up @@ -193,9 +220,14 @@ await _applicationManager.CreateAsync(new OpenIddictApplicationDescriptor
OpenIddictConstants.Permissions.Scopes.Email,
OpenIddictConstants.Permissions.Scopes.Address,
OpenIddictConstants.Permissions.Scopes.Phone,
OpenIddictConstants.Permissions.Prefixes.Scope + scope
}
});
};
foreach (var scope in scopes)
{
application.Permissions.AddIfNotContains(OpenIddictConstants.Permissions.Prefixes.Scope + scope);
}

await _applicationManager.CreateAsync(application);

var internalServicePermissions = new string[2]
{
Expand Down Expand Up @@ -247,9 +279,12 @@ await _applicationManager.CreateAsync(new OpenIddictApplicationDescriptor
OpenIddictConstants.Permissions.Scopes.Email,
OpenIddictConstants.Permissions.Scopes.Address,
OpenIddictConstants.Permissions.Scopes.Phone,
OpenIddictConstants.Permissions.Prefixes.Scope + scope
}
};
foreach (var scope in scopes)
{
application.Permissions.AddIfNotContains(OpenIddictConstants.Permissions.Prefixes.Scope + scope);
}

oauthClientRootUrls.ForEach(url =>
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}
});

if (!isDevelopment)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}
});

if (!isDevelopment)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}
});

if (isDevelopment)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}

options.Events = new JwtBearerEvents
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}

options.Events = new JwtBearerEvents
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}
});

if (!isDevelopment)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}
});

if (!isDevelopment)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}
});

if (!isDevelopment)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,11 @@ private void ConfigureSecurity(IServiceCollection services, IConfiguration confi
options.TokenValidationParameters.ValidIssuers = validIssuers;
options.TokenValidationParameters.IssuerValidator = TokenWildcardIssuerValidator.IssuerValidator;
}
var validAudiences = configuration.GetSection("AuthServer:ValidAudiences").Get<List<string>>();
if (validAudiences?.Count > 0)
{
options.TokenValidationParameters.ValidAudiences = validAudiences;
}
});

//services.AddElsaJwtBearerAuthentication(options =>
Expand Down
Loading