【问题标题】:Identity Server 4 integrating with IBM Security Access Manager - CallbackPathIdentity Server 4 与 IBM Security Access Manager 集成 - CallbackPath
【发布时间】:2020-07-27 10:24:21
【问题描述】:

我想知道应该设置哪个 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?
                        });

据我所知,不同的提供者有不同的 uri:

  • 登录-谷歌-谷歌
  • signin-idsrv - 另一个身份服务器
  • signin-aad - Azure 广告

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

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

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

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

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

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

就我而言,我使用如下:

options.CallbackPath = "/signin-ibm";

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

【问题讨论】:

    标签: authentication identityserver4


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-10-05
      • 2021-08-30
      • 2014-07-19
      • 1970-01-01
      • 2013-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多