2
我正在處理我的SPA和Web服務之間基於令牌的身份驗證和授權。我在Taiseer Joudeh這篇文章中發現了很棒的文章,並基於this我開始構建我的基礎架構。OAuth服務器令牌端點返回404
資源和認證服務器是分開的。認證服務器有兩個端點:
- http://dev.dilib.local/services/authentication/api/audience - 我可以添加新的觀衆
- http://dev.dilib.local/services/authentication/oauth2/token - 我可以生成令牌
第一個正常工作,這樣我就可以註冊新的觀衆。我有第二個問題。它總是回饋404。
public void ConfigureOAuth(IAppBuilder appBuilder)
{
OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
{
//only dev environment
//TODO
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/services/oauth2/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30),
Provider = new CustomOAuthProvider(),
AccessTokenFormat = new CustomJwtFormat("http://dev.dilib.local")
};
appBuilder.UseOAuthAuthorizationServer(OAuthServerOptions);
}
正如您所看到的,它幾乎與Taisser在他的文章中所寫的一樣。
我已經爲了迄今所做的發現,爲什麼,因爲它預計它不工作:
- 我雙重檢查我編寫的代碼,它是確定
- 我GOOGLE了四周,有是幾個人遇到了這個問題,但答案只表示他們可以解決它,沒有人努力寫下他/她做了什麼
- 我改變了TokenEndpointPath幾次,以避免它可能會與其他人衝突但是,我的機器上沒有任何其他服務
- 我讀過OAuth端點不完全是服務端點,我看到了一段代碼片段,但整篇文章是關於CORS的,我不想混合所有內容
- 我檢查了IIS日誌,只是事實具體POST和404
- 我檢查事件查看器,沒有什麼
- 我這裏檢查了相關的問題,但沒有
所以,我跑出去的想法,我認爲我做了一些愚蠢的,和我想請求你的幫助!
喔,我在這裏貼了錯誤的代碼。你說得對,他們不匹配。但是,這不是問題所在。我還不知道是什麼問題。當我開始在這個問題上再次研究這個問題時,讓我的機器在夜間不受影響,令牌端點爲第一個請求做出了迴應,之後我再次獲得了404。我經歷了Taissen編寫的另一個教程,現在我有一個工作令牌端點,但不與Webapi服務器分離。我現在很高興。稍後,我會花一點時間來重構它。 – SayusiAndo 2015-04-05 12:53:41
正如你所提到的,「令牌端點回答了第一個請求,之後我再次得到了404」,我認爲這種行爲與「用戶在給定的時間內發送了太多的請求(」rate限制 「)」。看起來您在一段時間內可以發送的請求數量有限制。但是,在這種情況下,服務器應該返回「429」http狀態,但不是「404」。 – 2015-04-05 13:10:08
@SayusiAndo很高興我的帖子很有用,但我想在Web API項目中默認沒有應用速率限制,限制和速率限制應該實現。 – 2015-04-08 17:44:32