2

我是 JWT 的新手,我正在尝试在 javascript 中创建一个简单的 JWT,将其发送到控制器(使用 web-api),在 sql 数据库中检查它。当我在网上搜索时,我发现了一个例子://HEAD

  {"typ":"JWT",
          "alg":"HS256"}

//声明

{
  "Id": 445566,
  "name": "Meme Jhon",
  "password": "ticktack"
}

//和签名。

我想在 Javascript 中创建我的第一个 JWT,但我觉得缺少一些东西.. 完整的结构是什么?仅从头部开始似乎不合逻辑(例如上面的示例..)我需要一个完整的示例或解释或指向完整示例的链接。谢谢

4

1 回答 1

1

请参阅JWT 规范以获得完整的理解。

总而言之,归根结底,这是一种以安全方式在两方之间发送数据(声明)的方法:

JSON Web Token (JWT) 是一种紧凑的、URL 安全的方式,用于表示要在两方之间传输的声明。

结构如下所示(直接取自规范):

eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
.
eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFt
cGxlLmNvbS9pc19yb290Ijp0cnVlfQ
.
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
  • 3 个 base64url 编码段,由点 ( .)分隔

    • 标题
    • 索赔/有效载荷
    • 签名

服务器端生成的核心概念与签名有关-尽管如果您不想签名,因此是“不安全的 JWT”(请参阅​​规范),那么我想您可以在客户端做所有事情。

实现细节各不相同——例如,上面可以是一些 HTTP 请求的有效负载、身份验证方案(请参阅@MM 答案中的链接)等。

Google Wallet是规范实施的一个示例。

请参阅@MM 上面提供的库链接

于 2015-02-01T18:18:19.527 回答