Asp.net mvc 4 如何将ADFS层添加到现有的Owin/OAuth身份验证层

Asp.net mvc 4 如何将ADFS层添加到现有的Owin/OAuth身份验证层,asp.net-mvc-4,authentication,oauth,owin,adfs,Asp.net Mvc 4,Authentication,Oauth,Owin,Adfs,目前,我们的系统实现了Owin和OAuth,以使用访问令牌进行身份验证和登录 然而,除此之外,我现在需要添加一个与现有ADFS身份验证服务器的第一个检查。目前的步骤是 使用OAuth验证并登录,返回票证 现在,我需要合并ADF以便步骤是 连接到ADFS服务器并进行身份验证 如果通过,则从自己的服务器获取详细信息,并继续使用令牌进行身份验证 如果由于ADFS中不存在某些用户而失败,请检查来自自己服务器的用户,如果找到并验证了该用户,请按照前面的步骤继续 我正在尝试两种不同的可能性: 在Startu

目前,我们的系统实现了Owin和OAuth,以使用访问令牌进行身份验证和登录

然而,除此之外,我现在需要添加一个与现有ADFS身份验证服务器的第一个检查。目前的步骤是

  • 使用OAuth验证并登录,返回票证
  • 现在,我需要合并ADF以便步骤是

  • 连接到ADFS服务器并进行身份验证
  • 如果通过,则从自己的服务器获取详细信息,并继续使用令牌进行身份验证
  • 如果由于ADFS中不存在某些用户而失败,请检查来自自己服务器的用户,如果找到并验证了该用户,请按照前面的步骤继续
  • 我正在尝试两种不同的可能性:

  • 在Startup.Auth.cs中,我使用metadataaddress为ADF添加了WsFederationAuthenticationOptions。我被困在如何实际使用Wreply和Wtrealm上,然后如何继续检查我们自己的OAuth身份验证

  • 考虑到可能我不需要在那里做这件事,我正在修改类应用程序OAuthProvider,在“GrantResourceOwnerCredentials”中,我试图手动连接到其中的ADF,将验证详细信息发送到那里,获取响应,然后根据响应继续

  • 我是不是走错了路?我正在尝试的两次尝试是否正确,如果是,我如何通过这种方式连接并返回以完成必要的步骤?

    请看一看-特别是第3版和第3版

    您将看到它如何处理多重身份验证


    您使用ADFS进行身份验证,并获得一组声明。如果用户不在AD中,您将停留在ADFS登录屏幕上,出现错误。

    我会查看一下,谢谢!如果用户不在AD中,我是否仍然能够干预并使用一些逻辑来决定是否要绕过ADFS登录?在ADFS 2.0(在IIS上)上,是的,您可以更改网页。ADFS 3.0(非IIS)编号。