gpt4 book ai didi

asp.net-mvc - IdentityServer 4、OpenIdConnect 重定向到外部登录 url

转载 作者:行者123 更新时间:2023-12-04 13:00:52 26 4
gpt4 key购买 nike

我正在尝试构建多个小型 ASP.Net 核心 Mvc 服务,这些服务连接到使用 IdentityServer4 构建的身份服务器。

我已经在 MVC 服务上设置了 OpenIdOption,如下所示

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationScheme = "Cookies"
});

app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
{
AuthenticationScheme = "oidc",
SignInScheme = "Cookies",

Authority = "http://localhost:5000",
RequireHttpsMetadata = false,

ClientId = "mvc",
ClientSecret = "secret",

ResponseType = "code id_token",
Scope = { "api1", "offline_access" },

GetClaimsFromUserInfoEndpoint = true,
SaveTokens = true
});

哪里 http://localhost:5000是运行我的身份服务器的端点。假设我的 MVC 服务器在 http://localhost:5002我看到当我设置 [Authorize] 时属性到 Controller ,它重定向到我的身份服务器,如果检查失败,它会在 http://localhost:5002/signin-oidc 上查找登录页面。

现在我遇到的问题是我希望登录页面由我的 Identity Server 托管。托管于 http://localhost:5000/signin-oidc以便所有 MVC 服务都使用它来获取用户身份,但不幸的是我无法看到如何设置此 RedirectUrl .

enter image description here

我知道该图在引用流程方面的工作方式不准确,只是试图简化我想要完成的工作:)

有可能做到这一点吗?

问候
基兰

最佳答案

你好像误解了什么/signin-oidc路线是为了。一般流程如下所示:

  • 用户访问 ASP.NET Core 站点。
  • 应用询问默认认证方案,"Cookies" , 进行身份验证。
  • cookie 身份验证处理程序尝试从(签名的)cookie 信息中恢复身份。
  • Cookie 身份验证失败,因为缺少 cookie。
  • App询问默认挑战方案,"oidc" , 执行身份验证质询。
  • OpenIdConnect 身份验证处理程序重定向到 OpenId Connect 身份验证提供程序,这是您的身份服务器。
  • 用户在身份服务器上成功登录。
  • 用户已发布到 /signin-oidc这是 OpenId Connect 身份验证处理程序的远程登录地址。
  • OpenId Connect 身份验证中间件处理 /signin-oidc路由并从 Identity Server 发出的登录请求中检索用户信息。
  • OpenId Connect 身份验证方案创建身份验证票证并要求配置的登录方案让用户登录。
  • Cookie 身份验证方案处理登录过程并创建用户身份。它将身份存储在 cookie 中,因此可以在 future 的请求中检索它,而无需再次通过整个身份验证挑战管道。
  • 用户已登录。

  • 所以 /signin-oidc端点是返回应用程序以完成 OpenId Connect 身份验证流程的登录过程的方式。当用户到达此地址时,他们已经登录到身份服务器,并且他们将被重定向回应用程序以从他们最初停止的地方继续。

    通常,用户在该路由上花费的时间很少,因为它会在处理登录请求后立即重定向回“正确的”应用程序路由。

    所以不,这里不会有登录表单。登录过程本身由您的 OpenId Connect 身份验证提供程序(您的身份服务器)负责。这就是重点,所以你例如安全登录 google.com使用您的 Google 凭据而不是在 my-random-and-probably-untrusted-app.example.com这绝对不应该掌握您的实际 Google 凭据。

    关于asp.net-mvc - IdentityServer 4、OpenIdConnect 重定向到外部登录 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45458612/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com