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