我想设置一个身份服务器来集中多个后端API(主要是ASP.NET Web API)和多个客户端(Web SPA,Xamarin Mobile和WPF PC-client)的身份验证。我最好希望为客户端提供一个OAuth2令牌端点,他们可以在其中发送用户凭据,以及client_id和client_secret(加上领域等)并获取一个令牌(和刷新口令)以用作承载令牌与HTTP API交谈。
有点棘手的部分是我希望身份服务器使用ADFS来验证用户Active Directory帐户的身份。
我看过Thinktecture IdentityServer v3,但我似乎无法找到一种方法来允许只使用HTTP post到令牌端点的工作流程。它似乎对我有用的方法是将用户重定向到授权端点,这需要在非Web客户端中使用webview。有没有办法在不需要webview的情况下实现这一点,只需使用HTTP API?
我们将非常感谢您对此示例的任何链接或其他可能的解决方案。
答案 0 :(得分:0)
在GitHub上的Thinktecture IdentityServer3问题跟踪器中,我找到了其中一位创作者Dominick Baier的回答:
我们仅通过浏览器登录支持ADFS作为身份提供商 窗口。那是你要的吗?或者您正在寻找程序化的 验证用户的方法?
如果是的话 - 我们不再支持开箱即用 - 但可以 使用自定义授权实现。样本repo有一个基本的例子 自定义拨款实施。
https://github.com/IdentityServer/Thinktecture.IdentityServer3/issues/618
那回答了我的问题。使用IdentityServer v3开箱即用,无法以编程方式对ADFS进行身份验证。