2017-04-25 143 views
0

我試圖確保一個小點網核mvc和API應用程序,我已經轉身,需要一個小方向。Dotnet核心安全oauth和承載

我必須使用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內構建令牌......

一切我試圖得到
消息「發生了安全錯誤」

回答

0

的回答我的問題是肯定的,它非常直截了當。我稍後會發表一個要點。我最擔心的問題是httpclient不喜歡我的SSL證書。

我仍然不確定是否將該標記放入索賠中。 cookie和oauth每15分鐘使其無效並刷新它,但隨機獲取刷新令牌將非常困難。

加入這個非常糟糕的代碼允許它來檢查我的令牌和它的工作如預期。

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