JWT Claims
JWT Claims
“iss” (issuer) 发行人
“sub” (subject) 主题
“aud” (audience) 接收方 用户
“exp” (expiration time) 到期时间
“nbf” (not before) 在此之前不可用
“iat” (issued at) jwt的签发时间
“jti” (JWT ID) jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。
/// <summary>
/// JSON Web Token (JWT) claims set.
/// </summary>
TJWTClaims = class(TJOSEBase)
private
const AUDIENCE_SEPARATOR = ',';
private
function GetAudience: string;
function GetExpiration: TDateTime;
function GetIssuedAt: TDateTime;
function GetIssuer: string;
function GetJWTId: string;
function GetNotBefore: TDateTime;
function GetSubject: string;
procedure SetAudience(Value: string);
procedure SetExpiration(Value: TDateTime);
procedure SetIssuedAt(Value: TDateTime);
procedure SetIssuer(Value: string);
procedure SetJWTId(Value: string);
procedure SetNotBefore(Value: TDateTime);
procedure SetSubject(Value: string); function GetHasAudience: Boolean;
function GetHasExpiration: Boolean;
function GetHasIssuedAt: Boolean;
function GetHasIssuer: Boolean;
function GetHasJWTId: Boolean;
function GetHasNotBefore: Boolean;
function GetHasSubject: Boolean; function ClaimExists(const AClaimName: string): Boolean;
function GetAudienceArray: TArray<string>;
procedure SetAudienceArray(const Value: TArray<string>);
public
constructor Create; virtual;
procedure SetClaimOfType<T>(const AName: string; const AValue: T);
function GenerateJWTId(ANumberOfBytes: Integer = 16): string; property Audience: string read GetAudience write SetAudience;
property AudienceArray: TArray<string> read GetAudienceArray write SetAudienceArray;
property HasAudience: Boolean read GetHasAudience;
property Expiration: TDateTime read GetExpiration write SetExpiration;
property HasExpiration: Boolean read GetHasExpiration;
property IssuedAt: TDateTime read GetIssuedAt write SetIssuedAt;
property HasIssuedAt: Boolean read GetHasIssuedAt;
property Issuer: string read GetIssuer write SetIssuer;
property HasIssuer: Boolean read GetHasIssuer;
property JWTId: string read GetJWTId write SetJWTId;
property HasJWTId: Boolean read GetHasJWTId;
property NotBefore: TDateTime read GetNotBefore write SetNotBefore;
property HasNotBefore: Boolean read GetHasNotBefore;
property Subject: string read GetSubject write SetSubject;
property HasSubject: Boolean read GetHasSubject;
end;
JWT Claims的更多相关文章
- jose4j / JWT Examples
jose4j / JWT Examples View History JSON Web Token (JWT) Code Examples Producing and consuming a sign ...
- JSON Web Tokens(JWT)
现在API越来越流行,如何安全保护这些API? JSON Web Tokens(JWT)能提供基于JSON格式的安全认证.它有以下特点: JWT是跨不同语言的,JWT可以在 .NET, Python, ...
- JSON WEB Token(JWT)
最近面试被问及单点登陆怎么解决?自己的项目前后端分离,自己实现token认证,token有失效时间,token中包含用户基本的信息.且一个当用户重新登陆后,原来的token就会失效,这么安全的一个to ...
- spring cloud实战与思考(五) JWT之携带敏感信息
需求: 需要将一些敏感信息保存在JWT中,以便提高业务处理效率. 众所周知JWT协议RFC7519使用Base64Url对Header和Payload的Json字符串进行编解码.A JWT is re ...
- golang简单实现jwt验证(beego、xorm、jwt)
程序目录结构 简单实现,用户登录后返回一个jwt的token,下次请求带上token请求用户信息接口并返回信息. app.conf文件内容(可以用个beego直接读取里面的内容)写的是一个jwt的se ...
- 基于jwt的token验证
一.什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519). 该token被设计为紧凑且安全的,特别适用于分布 ...
- springmvc的文件上传和JWT图形验证码
相关pom依赖 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commo ...
- springmvc文件上传AND jwt身份验证
SpringMVC文件上传 思路:1.首先定义页面,定义多功能表单(enctype=“multipart/form-data”)2.在Controller里面定义一个方法,用参数(MultipartF ...
- SPA中使用jwt
什么是jwt? JSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案 JWT的工作原理 1. 是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户,示例如下:{&q ...
随机推荐
- hadoop完整集群遇到问题汇总
1> 设置静态ip: 由于虚拟机在重启之后ip会再次重置,为了后续的麻烦我吗可以设置成静态ip的方式: cd /etc/sysconfig/network-scripts/ 修改对比如下: ...
- CLR、CIL、CTS、CLS、CLI、BCL和FCL,JIT,IL,GC
如果要想深入学习.NET平台,那么标题中的这些关键字对你来说并不陌生,这些名词构成了.NET庞大的生态系统,为了宏观认识.NET平台,学些.NET架构体系,针对一些常用常用名词的理解是很有必要的,未必 ...
- Android笔记(七十) AlertDialog
alertdialog可以在当前界面中弹出一个对话框,这个对话框在界面所有元素之上,可以屏蔽掉其他控件的交互能力,因此alertdialog常用于一些重要的内容警告. 使用AlertDialog.Bu ...
- 文件操作之stat()函数
作用: 返回一个文件的详细信息 头文件: #include <sys/types.h> #include <sys/stat.h> #include <unistd.h& ...
- java 图片base64互转
public class ImgBase64 { public static void main(String[] args) //测试 { String strImg = GetImageStr() ...
- 云计算---记一次黑客攻击openstack创建的虚拟机
一:问题定位 现象: 近期发现有几台openstack云主机被修改密码并被肉鸡. 黑客操作日志: -- :: ##### root tty1 : #### -- :: top -- :: ##### ...
- 《少年先疯队》第九次团队作业:Beta冲刺第二天
2.1 今日完成任务情况 姚玉婷:房间管理功能测试文档的编写 马丽莎:酒店系统中商品管理功能的完善 张 琼:商品管理功能的测试 孙苗坤:商品管理功能的测试 2.2 明天任务安排 姚玉婷:酒店系统中 ...
- LG3768 简单的数学题
P3768 简单的数学题 题目描述 输入一个整数n和一个整数p,你需要求出$(\sum_{i=1}^n\sum_{j=1}^n ijgcd(i,j))~mod~p$,其中gcd(a,b)表示a与b的最 ...
- c#调用CMD编辑命令
对于C#通过程序来调用cmd命令的操作,网上有很多类似的文章,但很多都不行,竟是漫天的拷贝.我自己测试整理了一下. 代码: string str = Console.ReadLine(); Syste ...
- 使用bufio包和函数式变成实现类似python生成器效果
package main import ( "bufio" "fmt" "io" "strings" ) type in ...