Dotnet核心安全oauth和承载

我试图确保一个小点网核心mvc和api应用程序,我已经转过身来需要一个小方向。

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

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

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

我将cookieauthentication和OAuth配置为针对ADFS端点,对于mvc ui它可以正常工作,但我不知道如何以及如何使API与httpclient一起使用从mvc ui控制器到API。

很久以前,我使用了IdentityServer 1或者可能是2并使用了承载令牌,但我无法弄清楚如何在OAuth事件的OnCreatingTicket中创建令牌,并且不确定在哪里存储它。 我尝试了一个声明,但它不起作用,因此它可能是畸形的或者只是错误的。

我不确定我的问题是否保证使用IdentityServer之类的东西,因为该网站很小,我不需要用户存储,所有内容都在LDAP / ADFS中。

我可以注册三个中间件peices,从oauth身份验证构建一个令牌,将其存储在某个声明中并通过httpclient将其传递到验证的位置?

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

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

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


我的问题的答案是肯定的,非常简单。 我稍后会发表一个要点。 我最担心的问题是httpclient不喜欢我的SSL证书。

我仍然不确定是否将标记放入索赔中。 cookie和oauth每15分钟使其无效并刷新它,但随机获取刷新令牌将非常困难。

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

 handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };
链接地址: http://www.djcxy.com/p/22347.html

上一篇: Dotnet core security oauth and bearer

下一篇: Laravel Passport oauth/authorize returns basic auth