与 IBM Security Access Manager 集成的 Identity Server 4 - CallbackPath

Identity Server 4 integrating with IBM Security Access Manager - CallbackPath

我想知道我应该设置哪个 uri 来将我们的 Idsrv4 与 Ibm SAM 提供程序集成。但是我不知道应该为CallbackPath

设置哪个uri

我们已经集成了外部Idsv,Google没有任何问题。但是我们目前停留在与IBM服务器的集成,因为我们不知道如何设置CallbackPath

这是我在 Startup.cs

中的代码
.AddOpenIdConnect("ibmsam", "Ibm Sam", options =>
                        {
                            options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
                            options.SignOutScheme = IdentityServerConstants.SignoutScheme;

                            options.Authority = "https://IbmUrl";
                            options.ClientId = "myClientId";
                            options.ClientSecret = "mySecret";
                            options.ResponseType = "id_token";
                            options.SaveTokens = true;

                            options.Scope.Add(IdentityServerConstants.StandardScopes.OpenId);
                            options.Scope.Add(IdentityServerConstants.StandardScopes.Email);

                            options.CallbackPath = "/signin-idsrv"; // <<--- what should I set here?
                        });

据我所知,不同的提供商有不同的 uris:

所以,我想知道是否已经有一个预定义的 uri 可以与 ibm 服务器集成(例如 signin-ibmsam 等)。我在哪里可以看到 signin-xxx 的列表以及这些东西是如何工作的?

我试图在 IdentityServer4 github 源代码中找到它。但是我在任何地方都找不到这些 urls/paths 是如何定义的以及它们如何处理回调。

你能帮我在哪里找到这些路径的源代码吗?

我们是否应该创建一个新路径 (signin-ibmsam) 并实现我们自己的 CallbackPath 并处理回调、获取令牌、用户信息等...?

能否请您建议我如何实现它?

已更新答案 正如 Tore 回答的那样,只要在服务器中注册了相同的 url,我们就可以提供任何 url。

对于我的情况,我使用如下:

options.CallbackPath = "/signin-ibm";

并且我将完整的 url(例如 https://test.ttcg.com/signin-ibm, https://www.ttcg.com/signin-ibm)提供给了另一个在 OAuth 提供程序中注册这些 url 的团队。只要这两个在两个系统中匹配,它就可以工作。

AddOpenIdConnect 处理程序的回调路径默认为 /signin-oidc,您可以在 OpenIdConnectOptions class 的 source code 中找到。您的 IBM 服务器需要重定向回这个固定的 url。如果您需要自定义它,您可以随时使用以下方式进行设置:

options.CallbackPath = "/my-callback-path";