首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JWT及其实现

JWT及其实现
EN

Stack Overflow用户
提问于 2017-03-05 12:07:10
回答 1查看 128关注 0票数 0

我正在考虑确保API的安全,并被推荐使用基于JWT的方法,尽管在在线阅读并遵循了几个教程后,我比以前更困惑了。所以这里是我收集到的: JWT是一个标准,有几个implementations...so,我必须为我的API选择一个实现是对的吗?

如果是这样的话,有没有我可以使用的开箱即用的实现,这是业界推荐的,以避免重复发明轮子?作为一名.net开发人员,我更可能使用Asp.Net Identity,它可以发布和验证JWT,我相信(如果我错了,请纠正我)。这是最好的方法吗?对于任何开源项目,though...what似乎都相当苛刻?

我真的不想用我自己的implementation...looking来获得关于这个话题的任何建议。

EN

回答 1

Stack Overflow用户

发布于 2017-03-06 14:25:19

JWT只是一个标准的RFC 75 19,有很多实现。

有关实现的列表,请查看https://jwt.io/ (您可以根据语言进行过滤),有三种.net实现,因此您不需要(也不应该)使用自己的实现。

签名JWT (JWS)简介

签名的JWT包含一个Base64 Url安全编码签名作为第三个组件。用于生成签名的算法在报头中指明。

代码语言:javascript
复制
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9
.eyJzdWIiOiJKb2huIERvZSIsImFkbWluIjp0cnVlLCJpYXQiOjE0NzAzNTM5OTQsImV4cCI6MTQ3MDM1NzYyNywianRpIjoiNmU0MDRiYTgtZjg4NS00ZDVmLWJmYTItZTNmNWEwODM4MGE0In0
.7CfBdVP4uKsb0cogYepCvMLm8rcpjBYW1XZzA-a5e44

标题

代码语言:javascript
复制
{
  "typ": "JWT",
  "alg": "HS256"
}

这个JWT是用HMAC-SHA256算法签名的,因此是alg: HS256

有效载荷

代码语言:javascript
复制
{
  "sub": "John Doe",
  "admin": true,
  "iat": 1470353994,
  "exp": 1470357627,
  "jti": "6e404ba8-f885-4d5f-bfa2-e3f5a08380a4"
}

这个联合小波变换可以用UTF-8加密notsosecret来验证。

节选自Getting started with jwt - Signed JWT (JWS)。最初的作者是Nate Barbettini。可以在contributor page上找到属性详细信息。源代码是在CC BY-SA 3.0下许可的,可以在Documentation archive中找到。参考主题ID: 5213,示例ID: 18559。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42604410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档