【发布时间】: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-ibm、https://www.ttcg.com/signin-ibm)提供给了在 OAuth Provider 中注册这些 url 的另一个团队。只要这两个在两个系统中匹配,它就可以工作。
【问题讨论】:
标签: authentication identityserver4