【问题标题】:UseWindowsAzureActiveDirectoryBearerAuthentication for Mono对 Mono 使用 WindowsAzureActiveDirectoryBearerAuthentication
【发布时间】:2015-08-05 11:38:38
【问题描述】:

我正在尝试使用 Microsoft.Owin.Security.ActiveDirectory 包在 Owin 中的 Mono 上运行 Active Directory Bearer Authentication....但显然 Mono System.IdentityModel dll 没有实现所需的 System.IdentityModel.Metadata 类由内部类 WsFedMetadataRetriever (http://go-mono.com/status/status.aspx?reference=4.5&profile=4.5&assembly=System.IdentityModel)。

我尝试在运行 Mono 时将 .NET dll System.IdentityModel 复制到我的 bin 目录,但随后出现错误“System.IdentityModel.Metadata.MetadataSerializer:.ctor 处的 IL 代码无效”...所以这不好.

考虑到这实际上只是 OAuth 2.0(并且我的 JavaScript 代码可以工作,无需调用任何非托管代码、dllimport 或 pinvokes 即可获得不记名身份验证令牌),我应该能够使我的服务器端代码在 Mono 上工作没有任何重大问题...

建议?

【问题讨论】:

    标签: asp.net oauth mono owin


    【解决方案1】:

    我认为“这只是 oauth”这句话隐藏了许多与手头的逻辑相关的细节。在这里,您没有获得用于访问现有 API 的令牌,这是很容易的部分,您正在构建该 API。 Oauth 本身并没有告诉您如何验证访问令牌、访问令牌应该采用什么格式或从何处检索确定令牌是否有效的参数(签名验证密钥等)。您正在使用的中间件完成所有这些额外的事情,依赖于低级组件,例如可以解析和验证 JWT 令牌的类。 AFAIK 这样的类,以及那些依赖的类,在经典的 .net 框架之外(还没有?)可用。因此,我不相信从今天起您将能够在单声道上运行该中间件。

    【讨论】:

    • 有没有办法用我自己的代码自己验证不记名令牌?
    • 您必须提供执行cloudidentity.com/blog/2014/03/03/… 的逻辑 - 使用 jwt 格式是可行的,但这是一项具有微妙安全隐患的大量工作。我希望这些类最终可以跨平台使用,届时它们将无需您进行额外工作即可正常工作......但我们还没有。
    猜你喜欢
    • 2021-01-16
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多