4

要在 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?我很难找到它。

4

1 回答 1

8

对于其他遇到困难的人,需要修改 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

于 2018-04-14T08:13:03.477 回答