认证令牌_Java应用程序的令牌认证

认证令牌

建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现。 注册 ,再也不会建立auth了!

2016年5月12日更新:构建Java应用程序? JJWT是由我们自己的Les Hazlewood开发的Java库,提供端到端JWT的创建和验证。 JJWT永久免费且开源(Apache许可证,版本2.0),易于使用和理解。 它的设计采用了以构建者为中心的流畅界面,从而掩盖了其大部分复杂性。 我们希望您能尝试一下 ,并告诉我们您的想法! (而且,如果您是Node开发人员,请查看NJWT !)

在我的一篇文章中 ,我们涵盖了很多基础,包括我们传统上如何保护网站安全,使用cookie和会话的一些陷阱以及如何通过传统方式解决这些陷阱。

在本文中,我们将超越传统,深入探讨如何使用JWT(JSON Web令牌)进行令牌身份验证,不仅解决了这些问题,而且还使我们受益于可检查的元数据和强大的加密签名。

救援的令牌认证!

首先让我们检查一下在这种情况下authenticationtoken含义。

身份验证证明用户就是他们所说的真实身份。

令牌是一个独立的信息块。 它可能具有内在价值,也可能没有。 我们将研究一种特定类型的令牌, 它确实具有内在价值,并通过会话ID解决了许多问题。

JSON Web令牌(JWT)

JWT是URL安全,紧凑,自包含的字符串,其中包含有意义的信息,这些信息通常经过数字签名或加密。 它们正Swift成为网络上令牌实施的实际标准。

URL安全是一种说法,它表示整个字符串都已编码,因此没有特殊字符,并且令牌可以放入URL中。

该字符串是不透明的,可以与使用会话ID几乎相同的方式独立使用。 不透明是指查看字符串本身没有提供任何其他信息。

但是,还可以对字符串进行解码以提取元数据,并且可以对签名进行加密验证,以使您的应用程序知道令牌未被篡改。

JWT和OAuth2访问令牌

许多OAuth2实现都将JWT用于其访问令牌。 应该指出,OAuth2和JWT规范是彼此完全独立的,彼此之间没有任何依赖关系。 将JWT用作OAuth2的令牌机制会带来很多好处,我们将在下面看到。

JWT可以存储在cookie中,但是我们之前讨论的cookie的所有规则仍然适用。 您可以将会话ID完全替换为JWT。 然后,您可以获得直接从该会话ID访问元信息的其他好处。

在野外,它们看起来就像是另一个丑陋的弦:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vdHJ1c3R5YXBwLmNvbS8iLCJleHAiOjEzMDA4MTkzODAsInN1YiI6InVzZXJzLzg5ODM0NjIiLCJzY29wZSI6InNlbGYgYXBpL2J1eSJ9.43DXvhrwMGeLLlP4P4izjgsBB2yrpo82oiUPhADakLs

如果仔细看,您会看到字符串中有两个句点。 这些意义重大,因为它们界定了JWT的不同部分。

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9
.
eyJpc3MiOiJodHRwOi8vdHJ1c3R5YXBwLmNvbS8iLCJleHAiOjEzMDA4MTkzODAsInN1YiI6InVzZXJzLzg5ODM0NjIiLCJzY29wZSI6InNlbGYgYXBpL2J1eSJ9
.
43DXvhrwMGeLLlP4P4izjgsBB2yrpo82oiUPhADakLs
JWT结构

JWT具有三部分结构,每个部分都是base64编码的:

jwt_parts

以下是解码的部分: </

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值