@ -20,7 +20,7 @@ using Client = Volo.Abp.IdentityServer.Clients.Client;
namespace CompanyName.ProjectName.IdentityServer
namespace CompanyName.ProjectName.IdentityServer
{
{
public class IdentityServerDataSeedContributor : IDataSeedContributor , ITransientDependency
public class IdentityServerDataSeedContributor : IDataSeedContributor , ITransientDependency
{
{
private readonly IApiResourceRepository _ apiResourceRepository ;
private readonly IApiResourceRepository _ apiResourceRepository ;
private readonly IApiScopeRepository _ apiScopeRepository ;
private readonly IApiScopeRepository _ apiScopeRepository ;
@ -86,10 +86,10 @@ namespace CompanyName.ProjectName.IdentityServer
private async Task < ApiResource > CreateApiResourceAsync ( IEnumerable < string > claims )
private async Task < ApiResource > CreateApiResourceAsync ( IEnumerable < string > claims )
{
{
var apiResource = new ApiResource (
var apiResource = new ApiResource (
_ guidGenerator . Create ( ) ,
_ guidGenerator . Create ( ) ,
"Identity.Api" ,
"Identity.Api" ,
"身份认证中心Api"
"身份认证中心Api"
) ;
) ;
//foreach (var claim in claims)
//foreach (var claim in claims)
//{
//{
@ -99,31 +99,28 @@ namespace CompanyName.ProjectName.IdentityServer
// }
// }
//}
//}
return await _ apiResourceRepository . InsertAsync ( apiResource ) ;
return await _ apiResourceRepository . InsertAsync ( apiResource ) ;
}
}
private async Task CreateApiScopeAsync ( )
private async Task CreateApiScopeAsync ( )
{
{
await _ apiScopeRepository . InsertAsync (
await _ apiScopeRepository . InsertAsync (
new ApiScope (
new ApiScope (
_ guidGenerator . Create ( ) ,
_ guidGenerator . Create ( ) ,
"Api_Read"
"Api_Read"
) ,
) ,
autoSave : true
autoSave : true
) ;
) ;
await _ apiScopeRepository . InsertAsync (
await _ apiScopeRepository . InsertAsync (
new ApiScope (
new ApiScope (
_ guidGenerator . Create ( ) ,
_ guidGenerator . Create ( ) ,
"Api_Write"
"Api_Write"
) ,
) ,
autoSave : true
autoSave : true
) ;
) ;
}
}
private async Task CreateClientsAsync ( )
private async Task CreateClientsAsync ( )
@ -142,15 +139,14 @@ namespace CompanyName.ProjectName.IdentityServer
name : "Vue3" ,
name : "Vue3" ,
description : "Vue3-UI" ,
description : "Vue3-UI" ,
scopes : commonScopes ,
scopes : commonScopes ,
grantTypes : new [ ] { "implicit" } ,
grantTypes : new [ ] { "implicit" } ,
secret : "1q2w3E*" . Sha256 ( ) ,
secret : "1q2w3E*" . Sha256 ( ) ,
redirectUri : "http://localhost:4200/oidc" ,
redirectUri : "http://localhost:4200/oidc" ,
postLogoutRedirectUri : "http://localhost:4200/oidc" ,
postLogoutRedirectUri : "http://localhost:4200/oidc,http://120.24.194.14:8012/oidc " ,
frontChannelLogoutUri : "http://localhost:4200/oidc" ,
frontChannelLogoutUri : "http://localhost:4200/oidc" ,
corsOrigins : new [ ] { "https://localhost:4200" , "http://localhost:4200" } ,
corsOrigins : new [ ] { "https://localhost:4200" , "http://localhost:4200" , "http://120.24.194.14:8012" } ,
requireClientSecret : false
requireClientSecret : false
) ;
) ;
}
}
private async Task < Client > CreateClientAsync (
private async Task < Client > CreateClientAsync (
@ -167,28 +163,26 @@ namespace CompanyName.ProjectName.IdentityServer
IEnumerable < string > permissions = null ,
IEnumerable < string > permissions = null ,
IEnumerable < string > corsOrigins = null )
IEnumerable < string > corsOrigins = null )
{
{
var client = new Client (
var client = new Client (
_ guidGenerator . Create ( ) ,
_ guidGenerator . Create ( ) ,
name
name
)
)
{
{
ClientName = name ,
ClientName = name ,
ProtocolType = "oidc" ,
ProtocolType = "oidc" ,
Description = description ,
Description = description ,
AlwaysIncludeUserClaimsInIdToken = true ,
AlwaysIncludeUserClaimsInIdToken = true ,
AllowOfflineAccess = true ,
AllowOfflineAccess = true ,
AbsoluteRefreshTokenLifetime = 3 1 5 3 6 0 0 0 , //365 days
AbsoluteRefreshTokenLifetime = 3 1 5 3 6 0 0 0 , //365 days
AccessTokenLifetime = 3 1 5 3 6 0 0 0 , //365 days
AccessTokenLifetime = 3 1 5 3 6 0 0 0 , //365 days
AuthorizationCodeLifetime = 3 0 0 ,
AuthorizationCodeLifetime = 3 0 0 ,
IdentityTokenLifetime = 3 0 0 ,
IdentityTokenLifetime = 3 0 0 ,
RequireConsent = false ,
RequireConsent = false ,
FrontChannelLogoutUri = frontChannelLogoutUri ,
FrontChannelLogoutUri = frontChannelLogoutUri ,
RequireClientSecret = requireClientSecret ,
RequireClientSecret = requireClientSecret ,
RequirePkce = requirePkce ,
RequirePkce = requirePkce ,
AllowAccessTokensViaBrowser = true ,
AllowAccessTokensViaBrowser = true ,
} ;
} ;
foreach ( var scope in scopes )
foreach ( var scope in scopes )
@ -255,4 +249,4 @@ namespace CompanyName.ProjectName.IdentityServer
return await _ clientRepository . InsertAsync ( client ) ;
return await _ clientRepository . InsertAsync ( client ) ;
}
}
}
}
}
}