IdentityServer4 oidc 如何知道从配置重定向到哪里

IdentityServer4 How does oidc know where to redirect to from configuration

我是运行IdentityServer4的Javascript客户端示例,配置如下:

var config = {
    authority: "https://localhost:44350",
    client_id: "Js",
    redirect_uri: "http://localhost:5003/callback.html",
    response_type: "id_token token",
    scope:"openid profile Api1",
    post_logout_redirect_uri : "http://localhost:5003/index.html",
};

当我点击登录按钮时,权限指向我的 IdentityServer4 实例,我被重定向到项目中的 Account/Login 路由。

我到处都在寻找,但我没有看到它知道重定向到该路由的位置或方式,它的配置在哪里?

它知道,因为存在与 interaction URLs which are specified as part of the IdentityServer Options 的映射。要配置这些 url 以匹配您的控制器,您可以在 ConfigureServices:

中执行类似的操作
services.AddIdentityServer(options =>
{
    options.UserInteraction = new UserInteractionOptions
    {
        //ensure that the url strings have a leading slash
        LoginUrl = "/foo/bar",<-foo/bar maps to your controller in charge of route [foo/bar]
        LogoutUrl = "/baz"
    }
}

希望对您有所帮助。