reactjs - Asp.Net Core Api 授权

标签 reactjs asp.net-core authentication

我有一个 Asp.Net Core/ReactJs 应用程序。我正在使用 Microsoft.AspNetCore.ApiAuthorization.IdentityServer对 API 进行身份验证。但是,我收到一个错误,我认为这是由于配置错误造成的。

如果我在本地运行它,使用以下配置,一切正常,应用程序按预期重定向到登录屏幕:

  "IdentityServer": {
    "Clients": {
      "MyApp": {
        "Profile": "IdentityServerSPA",        
      }
    },
    "Key": {
      "Type": "File",
      "FilePath": "Assets/selfsignedcert.pfx",
      "Password": "password"
    }
  },

但是,如果我将配置更改为以下内容:
  "IdentityServer": {
    "Clients": {
      "MyApp": {
        "Profile": "IdentityServerSPA",        
        "RedirectUri": "https://localhost:5211/authentication/login-callback"
        "LogoutUri": "https://localhost:5211/authentication/logout-callback"        
      }
    },
    "Key": {
      "Type": "File",
      "FilePath": "Assets/selfsignedcert.pfx",
      "Password": "password"
    }
  },

它出错(重定向到以下内容):
https://localhost:5211/home/error?errorId=1234...

看一下来自客户端的认证请求,它们是完全一样的;但是第二个返回错误,而第一个成功重定向。

我的配置有问题吗?或者,我该如何调试这个问题?

最佳答案

非工作配置中的两个 Uris 都指向注销。这真的是你想要做的吗?

在第一个配置中,您没有定义任何 Uris,因此它们将具有以下默认值:

redirect_uri 默认为/authentication/login-callback。
post_logout_redirect_uri 默认为/authentication/logout-callback。

如文档所示 here

尝试更改第二个配置以匹配默认值以查看是否有帮助。

关于reactjs - Asp.Net Core Api 授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62229327/

相关文章:

javascript - 我的 useEffect 正在到达调用堆栈,并且在文本更改后,我不知道为什么?

c# - Asp.Net Core 允许 CORS 中的 IP 范围

java - 单点登录 2 个 Web 服务

php - 为什么准备好的语句似乎没有(再次)绑定(bind)结果?

API设计: HTTP Basic Authentication vs API Token

reactjs - 通过单击文本如何将单击的文本更改为 React.js 中的另一个文本

javascript - localeCompare 对象数组排序不起作用

css - 将按钮的文本向左对齐

security - 如何获取 Asp.Net Core 加密 key 的访问权限?

c# - StaticFileOptions.OnPrepareResponse 不会为 index.html 调用