ABP vNext IdentityServer增加种子数据

新down下来的项目有时候我们需要修改预先的种子数据,比如用户,角色,或者IdentityServer的种子数据,官网有关种子数据的连接地址点这里,今天我在IdentityServer中增加了一个授权客户端,写在下面:

修改自动迁移项目的配置文件

在自动迁移项目xxx.DbMigrator中的appsettings.json中IdentityServer节点增加新的配置:

Domain类库修改播种方法

创建客户端及范围

找到IdentityServer文件夹下的IdentityServerDataSeedContributor类,在CreateClientsAsync()方法(大概280行后)中增加相应代码用来播种新增的种子文件:

var swaggerClientId1 = configurationSection["S_Swagger:ClientId"];
            if (!swaggerClientId1.IsNullOrWhiteSpace())
            {
                var swaggerRootUrl = configurationSection["S_Swagger:RootUrl"].TrimEnd('/');

                await CreateClientAsync(
                    name: swaggerClientId1,
                    scopes: commonScopes,
                    grantTypes: new[] { "authorization_code" },
                    secret: configurationSection["S_Swagger:ClientSecret"]?.Sha256(),
                    requireClientSecret: false,
                    redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html",
                    corsOrigins: new[] { swaggerRootUrl.RemovePostFix("/") }
                );
            }

新增api资源

CreateApiResourcesAsync()方法增加新的api资源

新增api范围

CreateApiScopesAsync()增加api 范围

客户端范围增加新接口的权限

CreateClientsAsync()方法的commonScopes增加新的接口范围

接下来执行迁移项目就OK了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注