【问题标题】:Dotnet core security oauth and bearerDotnet 核心安全 oauth 和承载
【发布时间】:2017-04-25 19:48:15
【问题描述】:

我正在尝试保护一个小型 dot net core mvc 和 api 应用程序,但我已经转过身来,需要一点方向。

我必须使用 ADFS 3.0 Server2012 R2 作为登录名/密码的来源。

我必须在 API 中使用版本控制。 (Microsft.aspnetcore.mvc.versioning)

我不想向 API 发送登录名/密码,只是一个不记名令牌。

我针对 ADFS 端点配置了 cookieauthentication 和 OAuth,它适用于 mvc ui,但我不知道如何/如何使 API 与从 mvc ui 控制器到 API 的 httpclient 一起工作。

很久以前,我使用了 IdentityServer 1 或 2 并使用了不记名令牌,但我不知道如何在 OAuth 事件的 OnCreatingTicket 中创建令牌并且不知道将其存储在哪里。我尝试了一个声明,但它不起作用,因此它可能是格式错误或完全错误的。

我不确定我的问题是否需要使用 IdentityServer 之类的东西,因为站点很小而且我不需要用户存储,一切都在 LDAP/ADFS 中。

我可以注册三个中间件,通过 oauth 身份验证构建一个令牌,将其存储在某个地方(如声明)并通过 httpclient 进行验证吗?

 app.UseCookieAuthentication(option);
 app.UseJwtBearerAuthentication(bearer);  //api
 app.UseOAuthAuthentication(adfsOption);  //mvc ui

在 adfsOption 内部构建一个令牌...

我尝试的一切都会得到
消息“发生安全错误”

【问题讨论】:

    标签: asp.net-core oauth-2.0 identityserver4


    【解决方案1】:

    我的问题的答案是肯定的,它非常直截了当。稍后我会发布一个要点。我的主要问题是 httpclient 不喜欢我的 ssl 开发证书。

    我仍然不确定将令牌放入声明中是否可以。 cookie 和 oauth 每 15 分钟使其失效并刷新一次,但随机获取刷新令牌会非常困难。

    添加这个非常糟糕的代码允许它检查我的令牌并且它按预期工作。

     handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };
    

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 2019-07-26
      • 2012-06-01
      • 2013-05-06
      • 2021-04-03
      • 1970-01-01
      • 2012-08-16
      • 2017-06-11
      • 2013-10-09
      相关资源
      最近更新 更多