asp.net - Active Directory帐户的Oauth 2 token

标签 asp.net asp.net-mvc active-directory oauth-2.0 owin

我过去曾使用Owin在我的Mvc Web Api项目中创建 token 端点,以提供具有“Resource Owner Password Credentials”授予类型的oauth 2.0 token ,其中访问 token 提供者将检查数据库用户表以验证移动设备提供的凭据的有效性。客户(使用Visual Studio工具为Cordova开发的多平台应用)。

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

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

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

它可以工作吗?

您知道将Oauth 2.0用于AD Windows帐户的更好的主意吗?

注意:

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

最佳答案

这是一个很好的演练,介绍了如何使用Active Directory联合身份验证服务来获取OAuth2 token 。
https://technet.microsoft.com/en-us/library/dn633593.aspx
您必须按照底部的所有链接进行操作。

请注意,它指的是使用Windows Azure AD Authentication Library for .NET。但是根据该文档,该库可用于Azure Active Directory和本地Active Directory。

至于工作流程,通过身份验证后,您将可以获取承载 token 并将其提供给WebAPI。然后,您的WebAPI“验证 token 的签名以确保它是由AD FS发出的,检查该 token 是否仍然有效并且尚未过期,并且还可能验证 token 中的其他声明。此时,客户端已被授权并且他们所请求的信息已在响应中发送,或者它们未经授权且不会发送任何数据。” -https://technet.microsoft.com/en-us/library/dn633593.aspx

关于asp.net - Active Directory帐户的Oauth 2 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29586996/

相关文章:

c# - .Net 中的 GridView 问题

asp.net - 将 Oracle 数据库用于默认的 ASP.NET MVC 应用程序

linux - Git 连接到 Active Directory

javascript - ASP.NET 中的选项卡式网站,想要打印所有内容,有推荐吗?

c# - 如何找到最后一次执行循环 while(dr.Read())?

c# - 单击下一页后,在上一页上找到取消选中的复选框

asp.net-mvc - MVC导航到其他 Controller View

asp.net-mvc - UserManager.FindByNameAsync 在 ASP.NET MVC 中缓慢

active-directory - NTLMv2 和 Kerberos 有什么区别?

active-directory - 在 ASP.Net Webforms 上使用 ActiveDirectoryMembershipProvider 的 LDAPS