Active Directory帐户的Oauth 2令牌

sys*_*out 17 asp.net asp.net-mvc active-directory oauth-2.0 owin

我过去曾使用Owin在我的Mvc Web Api项目中创建令牌端点,以提供具有" 资源所有者密码凭据 " 授权类型的 oauth 2.0令牌,其中访问令牌提供程序将检查数据库用户表以验证提供的凭据的有效性由移动客户端(用Cordova的Visual Studio工具开发的多平台应用程序).

在此项目中,Web Api将由Active Directory Windows域帐户使用的多平台移动应用程序使用

我想使用Owin Oauth 2.0向这些用户授予访问令牌,但我不知道如何检查这些凭据的有效性.

我想的是将/token端点放在后面"basic authentication"并在访问令牌提供程序的代码中从Identity获取用户,在使用经过身份验证的情况下,应该由Asp.net管道自动创建.

它能起作用吗?

您是否知道将Oauth 2.0用于AD Windows帐户有什么好主意?

注意:

我还在调查Active Directory是否能够自己提供Oauth 2.0端点.

Bra*_*ell 11

以下是如何使用Active Directory联合身份验证服务获取OAuth2令牌的相当不错的演练. https://technet.microsoft.com/en-us/library/dn633593.aspx.您必须按照底部的所有链接来完成整个演练.

请注意,它指的是使用Windows Azure AD身份验证库for .NET.但根据该文档,该库用于Azure Active Directory和内部Active Directory.

至于工作流程,一旦通过身份验证,您将能够获取并向WebAPI提供持有者令牌.然后,您的WebAPI"验证令牌的签名以确保它是由AD FS发出的,检查令牌是否仍然有效且未过期,并且还可能验证令牌中的其他声明.此时,客户端被授权,他们要求的信息在回复中发送,或者他们是未经授权的,不会发送任何数据." - https://technet.microsoft.com/en-us/library/dn633593.aspx


Han*_* Z. 8

您可以在AD之上使用ADFS 3.0,它将为您提供OAuth 2.0授权服务器功能:http://blog.scottlogic.com/2015/03/09/OAUTH2-Authentication-with-ADFS-3.0.html

将令牌端点置于"基本身份验证"后面对您没有帮助,因为您要在令牌端点上而不是用户身份验证客户端.您可以将授权端点置于"基本身份验证"之后.