无法在 .net core 3 + Angular 应用程序中加载 AuthorizeService 中的设置

Big*_*olf 5 c# identity asp.net-core-mvc asp.net-core angular

我一直在尝试使用以下命令设置具有默认身份验证的 .net core 3 角度应用程序:

dotnet 新角度 -o -au 个人

我能够成功构建并运行该应用程序,但出现一组错误消息,如下所示:

未捕获(承诺中):错误:无法加载“pos_app”的设置错误:无法在 AuthorizeService 加载“pos_app”的设置。(授权.service.ts:179)

当我进入 AuthorizeService 检查错误时,它在以下行中断:

const response = await fetch(ApplicationPaths.ApiAuthorizationClientConfigurationUrl);
if (!response.ok) {
  throw new Error(`Could not load settings for '${ApplicationName}'`);
}
Run Code Online (Sandbox Code Playgroud)

我还收到一些错误消息,如下所示:

获取http://localhost:50059/_configuration/pos_app 404(未找到)

当我点击默认的注册按钮时,我收到以下错误消息:

未捕获(承诺):错误:无法匹配任何路由。URL 段:“身份/帐户/注册”错误:无法匹配任何路由。URL 段:“身份/帐户/注册”

我想知道我缺少什么,因为我没有更改任何内容并且默认应用程序应该可以工作。请帮忙。

我正在使用 Mac,如果这有什么区别的话

小智 2

出色地。让我们重新检查您的控制器。有一个名为 OidcConfigurationController 的控制器。这用于返回前端的配置。当我尝试重构我的代码并删除该控制器时,我收到了此错误。您可以使用身份创建新的角度项目来获取该控制器代码并将其添加到您当前的项目中

public class OidcConfigurationController : Controller
{
    private readonly ILogger<OidcConfigurationController> logger;

    public OidcConfigurationController(IClientRequestParametersProvider clientRequestParametersProvider, ILogger<OidcConfigurationController> _logger)
    {
        ClientRequestParametersProvider = clientRequestParametersProvider;
        logger = _logger;
    }

    public IClientRequestParametersProvider ClientRequestParametersProvider { get; }

    [HttpGet("_configuration/{clientId}")]
    public IActionResult GetClientRequestParameters([FromRoute]string clientId)
    {
        var parameters = ClientRequestParametersProvider.GetClientParameters(HttpContext, clientId);
        return Ok(parameters);
    }
}
Run Code Online (Sandbox Code Playgroud)