如何在 IdentityServer4 中允许 Google 字体
How to Allow Google fonts in IdentityServer4
要在 IdentityServer3 中使用 Google 字体,以下 Content-Security-Policy 从未起作用:
<meta http-equiv="Content-Security-Policy"
content=" style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
font-src 'self' 'unsafe-inline' https://fonts.gstatic.com data:">
相反,我们在 idsrvApp.UseIdentityServer 构造函数中配置了 CspOptions,它确实起作用了:
CspOptions = new CspOptions {
FontSrc = "https://fonts.gstatic.com",
StyleSrc = "https://fonts.googleapis.com",
Enabled = true
}
如何在 IdentityServer4 中配置 CspOptions?我找不到它。
对于其他遇到问题的人,需要修改 IdentityServer4 快速启动文件随附的 SecurityHeadersAttribute.cs 文件。附加以下行修复它:
var csp = "default-src 'self'; object-src 'none'; frame-ancestors 'none'; sandbox allow-forms allow-same-origin allow-scripts; base-uri 'self';";
// These two lines enable google fonts
csp += "font-src 'self' https://fonts.gstatic.com;";
csp += "style-src 'self' https://fonts.googleapis.com;";
文件位于quickstart/SecurityHeadersAttribute.cs
要在 IdentityServer3 中使用 Google 字体,以下 Content-Security-Policy 从未起作用:
<meta http-equiv="Content-Security-Policy"
content=" style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
font-src 'self' 'unsafe-inline' https://fonts.gstatic.com data:">
相反,我们在 idsrvApp.UseIdentityServer 构造函数中配置了 CspOptions,它确实起作用了:
CspOptions = new CspOptions {
FontSrc = "https://fonts.gstatic.com",
StyleSrc = "https://fonts.googleapis.com",
Enabled = true
}
如何在 IdentityServer4 中配置 CspOptions?我找不到它。
对于其他遇到问题的人,需要修改 IdentityServer4 快速启动文件随附的 SecurityHeadersAttribute.cs 文件。附加以下行修复它:
var csp = "default-src 'self'; object-src 'none'; frame-ancestors 'none'; sandbox allow-forms allow-same-origin allow-scripts; base-uri 'self';";
// These two lines enable google fonts
csp += "font-src 'self' https://fonts.gstatic.com;";
csp += "style-src 'self' https://fonts.googleapis.com;";
文件位于quickstart/SecurityHeadersAttribute.cs