我试图构建一个新的丰富应用程序,但我在设计身份验证过程时遇到了一些问题。
我只有两个要求:
我的第一个想法是构建API并使用Angular.js作为前端。但是,我无法看到身份验证应该如何运作。
我的API需要通过脚本提供。据我所见,ADFS身份验证始终显示身份验证过程的网页。
API通常使用OAuth2保护。我们使用客户端ID和客户端密钥来生成令牌。但是我无法通过ADFS获得此行为。
我看到的唯一解决方案是为我的应用程序提供两种身份验证行为。一个具有用于Web访问和Web界面的ADFS,增加了生成客户端ID和与用户帐户相关联的客户端密钥的可能性,该用户帐户可用于无头认证的API。
有人已经遇到过这种情况吗?
非常感谢!
答案 0 :(得分:1)
我认为'ADFS需要用于身份验证'实际上意味着'用户应该能够使用他们的Active Directory域凭据进行身份验证'。
如果是这种情况,你应该看一下Thinktecture IdentityServer。这是一个OAuth2授权服务器,您可以use with a Active Directory身份提供商。
P.S。 Windows 2012R2附带的ADFS 3.0仅支持授权代码授权,该授权不适用于JavaScript应用程序。