使用ADFS 3.0的自定义提供程序传递IdentityServer3和没有登录ID

时间:2018-09-13 13:25:50

标签: identityserver3

我在尝试将自定义提供程序添加到ADFS 3.0的IdentityServer3中时遇到问题,希望有人可以指出正确的方向。

我使用了以下参考文献:

从IDP传回AuthenticationTicket后,我在返回页面上收到错误消息。

错误

确定要登录的应用程序时出错。返回应用程序,然后重试。

protected override async Task<AuthenticationTicket> AuthenticateCoreAsync()
{
    //calls token and gets the values correctly
    //context.Properties does contain a signinid

    return new AuthenticationTicket(context.Identity, context.Properties);
}

上下文。属性的确有一个用于登录的键/值对。

我确实拥有所有索赔数据。 Using this answer here

这是日志:

18-09-13 07:44:59.412 -05:00 [信息]提供商要求外部登录:“ https://idp.domain.com/adfs” 2018-09-13 07:44:59.417 -05:00 [Debug]缓存命中:2 2018-09-13 07:44:59.419 -05:00 [信息]触发外部身份提供商的挑战 2018-09-13 07:45:25.389 -05:00 [信息]从外部身份提供商调用回调 2018-09-13 07:45:25.395 -05:00 [信息]未通过登录ID

我当前正在使用:

https://localhost:xxxxx/identity/callback
/identity/callback

作为我的RedirectUri和CallbackPath,也许这些不正确吗?我尝试了一些其他方法,但收到了404错误。

我只是不确定我缺少什么或做错了什么,我们将不胜感激。我确实进行了搜索,发现其他一些人在WSFed或OpenID上也有类似的问题,但是没有解决方案对我有帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

逐步解决此问题(和ID服务器代码)后,我发现了问题。我收到no登录ID错误,因为AuthenicateAsync(“ idsrv.external”)调用在IdentityServer3内部失败。

这是我使用的返回URL和回调路径的结果。我没有直接调用/ identity / callback,而是通过使用/ identity / signin-adfs和/ signin-adfs的回调路径(基于示例提供的自定义提供程序中的匹配方式)来完成此工作。

相关问题