gpt4 book ai didi

jwt - JWT 中的秘钥是什么

转载 作者:行者123 更新时间:2023-12-04 04:15:05 27 4
gpt4 key购买 nike

我无法清楚地掌握 JWT 是如何工作的,尤其是。签名部分。

一旦客户端提交正确的用户名和密码,身份验证服务器就会创建一个 JWT token ,其中包含 header 、有效负载/声明和签名。

问题 1 - 签名是否是一些只有认证服务器知道的 key (不是用户的密码)(某种服务器的私钥)?

问题 2 - 假设我使用单独的应用程序服务器和身份验证服务器,在从客户端接收 JWT 时,应用程序服务器是否会将 JWT 发送到身份验证服务器以对其进行验证?我想应用程序服务器无法验证 JWT token ,因为它不知道用于签署 header 和有效负载的 key 。

问题 3 - 我将以下 JWT 粘贴到 jwt.io 上。我看到消息 Signature Verified 。 jwt.io 如何知道签名是正确的,因为它不知道 key 。
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxLS9tSjVsVTNYc09QWCt2VitpaGZRMWlCUDVjUTROQm1hNDluOE9rS1FFSnEzTDFNOTl2VW9iQ1ZLUHVYMmdlWWhYaHJQM0t3bHY4SE1RaHNGdnFjbllIeGxGSHM9IiwiaXNzIjoicGxheS1zaWxob3VldHRlIiwiZXhwIjoxNTI2MjgxMDU1LCJpYXQiOjE1MjYyMzc4NTUsImp0aSI6IjhmOGM3YTVmYWRkNTE5MjUxNzQ5NGE4N2Q1ODcxZjJjZGUxZDkzMDdkOTY1MThjNjg2NzExOTc1YjU3M2I5NDBlZWU2NGY0NDUwYzcxODI3NGZmNzU1MmE2Y2JlNTVmZmZhMWI1ZjA3ZWZlOWVkNTE0Y2Y4YTViOTZlM2ExYjI0ODRmYTI5NjZiYjA0ODlmODIwZjMyMzM5YWVhNjM3NWRkZmU4ZDE4N2E2NzBjMzg0ODgwZGIyMzQ1ZTFkMzRkYWNjZmY2MTdkMDY1NzU3YmEwZTQzNDg4YWFhZmZmNDNjYWZlZGY0OTFlODU1YTA0NWM0NmJjNDY4NGYzODlmY2YifQ.GwN6TSNd426xpc3Y02eRXHbrmSr_61MMBqrmx66Ofqs
enter image description here

最佳答案

Question 1 - Is signature some secret key (not the user's password) which only the authentication server knows (sort of a private key of the server)?



不,电子签名是使用 key 应用于 JWT 负载的数学计算。目的是确保消息未被更改并识别签名者以验证 JWT

Question 2 - Say I am using a separate application server and authentication server, on receiving JWT from client, would the application server send the JWT to authentication server to get it validated? I suppose the application server cannot validate a JWT token as it doesn't know the secret key used to sign the header and payload.



不必要。如果使用对称 key (HMAC),则签名和验证 key 是相同的。在这种情况下,授权服务器必须知道 key 或发送 token 进行验证。但是,如果使用非对称 key (RSA、ECDSA),则签名 key 与验证 key 不同。授权服务器可以安全地拥有公钥的副本

Question 3 - I took the following JWT and pasted it on jwt.io. I see the message Signature Verified. How does jwt.io know that the signature is correct as it doesn't know the secret key.



jwt.io 或任何想要验证 token 的人都需要 key 。请注意,如果您在 jwt.io 中复制并粘贴 token ,则不会验证签名,但是如果您更改 key ,则编辑器会自动更改签名时创建新 token

关于jwt - JWT 中的秘钥是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50323528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com