2017-07-07 40 views
-1

我花了很多時間瞭解OAuth服務器,並且由於在StackOverflow中存在多個帖子,我相信這是一個相對較好的解決方案this優秀指南)。我有一個有效的OAuth服務器,具有刷新令牌,客戶端支持和可控的客戶端ID管理。我很高興與技術解決方案的所有除了一兩件事,當角應用嘗試執行CORS選項調用叫我的服務範圍內的第一個明顯的方法是:在OAuthAuthorizationServer和Angular2 Apps中使用OAuthAuthorizationServer時,支持Options請求的正確方式是什麼

Task ValidateClientAuthentication (OAuthValidateClientAuthenticationContext context); 

在內部嘗試驗證調用客戶端並檢查客戶端密鑰。使用Options調用,不會提供任何ClientID或類似的東西,因此我的服務會引發認證錯誤。

有沒有在OAuthServer驗證方法中允許Options調用的方法?它應該在別的地方完成嗎?

+0

任何線索下的選民,以你的不滿?如果你解釋爲什麼你拒絕投票,這真的能幫助我們所有人。這是一個沒有惡意的真正的問題....! –

回答

0

我給這家修復似乎來覆蓋的行爲:

MatchEndpoint (OAuthMatchEndpointContext context) 
{ 
    if (context.OwinContext.Request.Method == "OPTIONS" && context.IsTokenEndpoint) 
    { 
     context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new [] { "*" }); 
     context.OwinContext.Response.Headers.Add("Access-Control-Allow-Methods", new [] { "POST" }); 
     context.OwinContext.Response.Headers.Add("Access-Control-Allow-Headers", new [] { "accept", "authorisation", "content-type" }); 
     context.OwinContext.Response.StatusCode = 200; 
     context.RequestCompleted(); 
     return Task.CompletedTask; 
    } 
} 

在我實施OAuthAuthorizationServerProvider的...

相關問題