标签:认证 键值 tps john subject 移动 jwt nbsp ken
假设有这样一家动物园,这家动物园要门票,门票要从动物园门口的售票室买,购买后,能得到一张纸质的票据。纸很特殊,动物园验票能通过纸张来判断门票是不是真的,还能看出你有没有涂改门票。门票上还有时间,指示什么时候门票到期,只要门票没有到期,你就可以随意进出动物园
嗯,这么长个例子,其实和Claim没什么关系 :)
门票上有什么?我们来假设一下
门票上有,姓名,票价,性别,地址,【等等身份证一类的东东】
好了,我们假设的门票就这样,从门票的第二行(姓名...)开始,每一行都是一个Claim
有了上面的铺垫,我们接下来正式介绍下Claim
Claim 本意有
断言是比较准确的释义,另外可以理解成声明,每一条claim 都代表了一条票据的信息,比如示例票据上的姓名等等。claim 的基本组成是 type
和value
,上面票据中左侧的就是type
右面就是value
在 .net core 基础类库中是含有Claim的实现类的,它的位置是
System.Security.Claims.Claim
我们看一个真是的claim的例子
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
这个例子中含有3个claim
这个例子中的 type 都是 JWT RFC中的标准jwt claim,上面这个例子是一个jwt票据的一部分,而在identity 中,默认使用的是cookie 身份认证,所以使用的不是 jwt 票据,而是加密cookie票据(identity没有这样定义,这样写是为了和jwt票据区分开),但是票据里面的内容,jwt和 加密cookie都是一样的都是——“claim”
再回顾下 claim是什么? 就是一条一条的 type-value 键值对,里面存储了身份证明信息
而承载claim的东西就是票据,票据有很多种 jwt 和cookie 都是主流,不过应用场景不一样,by the way 票据的英文名称是“token” ,你需要记住它,后续的文章中,我们会学习如何同时使用支持移动后端验证(jwt token)以及仅仅使用 jwt token
标签:认证 键值 tps john subject 移动 jwt nbsp ken
原文地址:https://www.cnblogs.com/gaoliangchao/p/9923882.html