httpContext.User.Identity.IsAuthenticated 總是為fasle


驗證一直通不過,不知道問題在哪里。這個坑應該只有我自己遇到,記錄一下,問題在使用swagger驗證的時候出現的(說的很輕松)


如圖所示,在swaager文檔中,添加認證功能,此時只要我們填下登陸時獲取的token,便能訪問到其他接口。如下圖填寫密鑰

如果密鑰沒有填對,則對接口有認證的地方進行校驗,效驗失敗則返回如下

剛開始不知道驗證失敗的原因在哪里。一直在查閱認證與授權的資料。

嘗試了其他項目,發現都是正常的。(此時頭有點大,但不能放棄)

最后使用了postMan進行調用,發現ok啊。此時聯想到swagger密鑰填寫問題。一切ok。

填寫格式:

Bearer 密鑰

我之前填的是Bearer:密鑰

其他注意事項

  1. 在登陸過程中時候,即使調用了HttpContext.SignInAsync() 方法,通過調試httpContext.AuthenticateAsync() 是獲取不到用戶登陸任何信息的。必須經歷一個完整的頁面請求過程。不然也是返回false。

  2. Configrue必須添加 app.UseAuthentication(); 不然也總是返回false。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM