IdentityServer4Extension.cs 1.1 KB

1234567891011121314151617181920212223242526272829
  1. using System.Security.Cryptography.X509Certificates;
  2. using Long.Core.Extensions;
  3. namespace Auth
  4. {
  5. public static class IdentityServer4Extension
  6. {
  7. public static void AddIdentityServer4Extension(this IServiceCollection services, IConfiguration configuration)
  8. {
  9. //获得证书文件
  10. var certpath = configuration["Kestrel:Certificates:Default:Path"];
  11. var certpwd = configuration["Kestrel:Certificates:Default:Password"];
  12. var x509Cert = new X509Certificate2(certpath ?? string.Empty, certpwd);
  13. var builder = services.AddIdentityServer(option =>
  14. {
  15. option.IssuerUri = configuration["JWT:IssuerUri"];
  16. });
  17. builder.AddResourceOwnerValidator<DefaultResourceOwnerPasswordValidator>()
  18. .AddInMemoryApiScopes(IdentityServer4Config.ApiScopes())
  19. .AddInMemoryApiResources(IdentityServer4Config.ApiResources())
  20. .AddInMemoryClients(IdentityServer4Config.Clients())
  21. .AddProfileService<DefaultProfileService>()
  22. .AddSigningCredential(x509Cert);
  23. }
  24. }
  25. }