亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Web API 的 JWT 自省中間件 - Java 和 Identity Server

使用 Web API 的 JWT 自省中間件 - Java 和 Identity Server

慕婉清6462132 2023-11-01 21:37:40
我目前正在使用基于 .Net Core 的 Identity Server 4 來頒發 JWT 令牌。我有一個具有中間件的 .Net Core Web API,以便在以下位置驗證 JWT:Startup.csservices.AddAuthentication("Bearer")                .AddJwtBearer("Bearer", options =>                {                    options.Authority = "http://localhost:5005";                    options.Audience = "api1";                });正如我們所看到的,除了令牌服務器的位置和 api 是誰(即 'api1)之外,它并沒有要求太多。顯然,它在引擎蓋下做了一些更復雜的事情。我找到了一個基于Java的等效于上面的中間件,它驗證了一個JWT:String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJpc3MiOiJhdXRoMCJ9.AbIJTDMFc7yUa5MhvcP03nJPyCPzZtQcGEp-zWfOkEE";RSAPublicKey publicKey = //Get the key instanceRSAPrivateKey privateKey = //Get the key instancetry {    Algorithm algorithm = Algorithm.RSA256(publicKey, privateKey);    JWTVerifier verifier = JWT.require(algorithm)        .withIssuer("auth0")        .build(); //Reusable verifier instance    DecodedJWT jwt = verifier.verify(token);} catch (JWTVerificationException exception){    //Invalid signature/claims}這是來自網站推薦的 這里.jwt.io基本上,我希望能夠在 Java 中實現與上面的 .Net Core 代碼相同的功能,但它顯然需要諸如 a 和 key 之類的東西,我不知道此時如何提供,因為 JWT 是通過請求的標頭。PublicPrivate
查看完整描述

1 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

在后臺,Microsoft JWT 中間件將進入 IdentityServer 的發現端點,并加載到頒發者和 JWKS(公鑰)等配置中。發現文檔始終托管在 上。/.well-known/openid-configuration

要驗證令牌,您至少需要來自 JWKS 的公鑰。過去,我使用 jwks-rsa 庫加載了它: https://www.scottbrady91.com/Kotlin/JSON-Web-Token-Verification-in-Ktor-using-Kotlin-and-Java-JWT

驗證訪問令牌時,至少還需要檢查令牌的受眾(令牌是否適用于你)以及它是否已過期。


查看完整回答
反對 回復 2023-11-01
  • 1 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號