1. 程式人生 > >APP校驗 Token的生成流程

APP校驗 Token的生成流程


本專案依賴於下面jar包:

  • nimbus-jose-jwt-4.13.1.jar (一款開源的成熟的JSON WEB TOKEN 解決方法,本倉庫的程式碼是對其的進一步封裝)
  • json-smart-2.0-RC2.jar和asm-1.0-RC1.jar (依賴jar包,主要用於JSONObject序列化)
  • cors-filter-2.2.1.jar和java-property-utils-1.9.1.jar(用於處理跨域ajax請求)
  • junit.jar(單元測試相關jar包)

核心類Jwt.java結構:

2個靜態方法createToken和validToken,分別用於生成TOKEN和校驗TOKEN; 定義了列舉TokenState,用於表示驗證token時的結果,使用者可根據結果進行不同處理:

  • EXPIRED token過期
  • INVALID token無效(包括token不合法,token格式不對,校驗時異常)
  • VALID token有效

使用示例

獲取token

Map<String , Object> payload=new HashMap<String, Object>();
Date date=new Date();
payload.put("uid", "291969452");//使用者id
payload.put("iat", date.getTime());//生成時間
payload.put("ext",date.getTime()+1000*60*60);//
過期時間1小時
String token=Jwt.createToken(payload); System.out.println("token:"+token);

校驗token

String token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIyOTE5Njk0NTIiLCJpYXQiOjE0NjA0MzE4ODk2OTgsImV4dCI6MTQ2MDQzNTQ4OTY5OH0.RAa71BnklRMPyPhYBbxsfJdtXBnXeWevxcXLlwC2PrY";
Map<String, Object> result=
Jwt.validToken(token); String state=(String)result.get("state"); switch (TokenState.getTokenState(state)) { case VALID: //To do somethings System.out.println("有效token"); break; case EXPIRED: System.out.println("過期token"); break; case INVALID: System.out.println("無效的token"); break; } System.out.println("返回結果資料是:" +result.toString());

相關推薦

APP Token生成流程

本專案依賴於下面jar包: nimbus-jose-jwt-4.13.1.jar (一款開源的成熟的JSON WEB TOKEN 解決方法,本倉庫的程式碼是對其的進一步封裝)json-smart-2.0-RC2.jar和asm-1.0-RC1.jar (依賴ja

CRC生成與資料原始碼程式 (包括CRC-4,5,6,7,8,16,32)

C程式碼 收藏程式碼 /******************************************************************** * Name: CRC-4/ITU x4+x+1 *

java實現CRC16生成

public static String crc16(String gprsstr) { try { int crc; int strlength, r; byte sbit; int tc; strlength = gprsstr.len

MD5檔案生成java程式碼

import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.MappedByteBu

國服最強JWT生成Token做登錄講解,看完保證你學會!

共享 jwt 存儲 node 基於 clas 成功 講解 算法 轉載於:https://blog.csdn.net/u011277123/article/details/78918390Free碼農 2017-12-28 00:08:02 JWT簡介 JWT(j

國家商用password(五)基於SM2的軟件授權碼生成

clas 信息 ecp register 方法 序列號 mod 生成 pub 將公開密鑰算法作為軟件註冊算法的優點是Cracker非常難通過跟蹤驗證算法得到註冊機。以下。將介紹使用SM2國密算法進行軟件註冊的方法。 生成授權碼 選擇SM2橢圓曲線參數(P,a,b,N,

身份證號碼生成

style 山西 年份 組成 生成 rate rar div throws   在測試過程中難免會遇到需要身份證號碼的情況,記錄下隨機生成身份證號碼與如何檢驗身份證號碼的方法。   首先要了解身份證號碼的組成方式:  號碼結構:公民身份號碼是特征組合碼,由十七位數字本體碼

FreeSWITCH取消Digest流程

deny 通過 color range type ip地址 rect 流程 需要 方法一、通過使用acl配置 <list name="domains" default="deny"> <!-- domain= is special it

java圖形驗證碼生成工具類及web頁面驗證碼

組合 line des resp word buffere 需要 case ali 最近做驗證碼,參考網上案例,發現有不少問題,特意進行了修改和完善。驗證碼生成器:[ht

SpringSecurity 進行自定義Token

單獨 snapshot author 調試 wired vax net figure cas 背景 Spring Security默認使用「用戶名/密碼」的方式進行登陸校驗,並通過cookie的方式存留登陸信息。在一些定制化場景,比如希望單獨使用token串進行部分頁面的訪

微信公眾號 Token失敗 基於spring-boot

最開始是這麼寫: @GetMapping(produces = "text/plain;charset=utf-8") public String authGet( @RequestParam(name = "signature", required = false)

服務閘道器 Zuul 與 Redis 結合實現 Token 許可權

這兩天在寫專案的全域性許可權校驗,用 Zuul 作為服務閘道器,在 Zuul 的前置過濾器裡做的校驗。 許可權校驗或者身份驗證就不得不提 Token,目前 Token 的驗證方式有很多種,有生成 Token 後將 Token 儲存在 Redis 或資料庫的,也有很多用 JWT(JSON Web Token)

使用Python隨機生成身份證號碼及

GitHub : https://github.com/jayknoxqu/id-number-util 身份組成方式 中華人民共和國國家標準GB 11643-1999《公民身份號碼》中規定:公民身份號碼是特徵組合碼,由十七位數字本體碼和一位校驗碼組成。 18位數字組合的方式是:

python3身份證號碼生成

# /usr/bin/python # -*- coding:utf-8 -*- import re import random from datetime import datetime, timedelta, date '''身份證第18位(校驗碼)的計算方法 1、將前面的身份證號碼17位數分別

php 微信 token失敗 解決方法

<?php namespace app\user\controller; use think\Controller; use think\Session; use think\Db; use think\Request; //微信訊息接收 class Wx

HTTPS協議以及雙向數字證書 自簽名證書的生成

$ openssl x509 -text -in client.crt -noout Certificate:     Data:         Version: 1 (0×0)         Serial Number:             d6:e3:f6:fa:ae:65:ed:df      

mybatis反向工程generatorSqlmap-increase自動生成程式碼,還有一點引數

之前都是大佬搭框架我寫業務程式碼,知道mybatis能自動生成程式碼,但是從來沒自己操作過,菜雞。 一開始我是用springboot的mybatis外掛生成的,但是生成的程式碼裡方法很少,沒有各個欄位的操作,所以又用generatorSqlmap-increase做了一次,

【TP5.1】使用者全許可權流程(完善【TP5.1】Rbac設計)

author:咔咔 wechat:fangkangfk 1.首先是使用者登入校驗 2.使用者登入後 首先通過這部分判斷登入使用者,如果是系統管理員記錄使用者許可權      if ($user->is_system == 1) {         

ios或安卓登入java後臺token機制簡介

ios或者安卓在登入的時候為了統一校驗,一般的的情況下會到一個共同的介面進行檢驗,這裡用java做了一個簡單的後臺介面用於ios或者安卓登入校驗。後臺的java框架是SSM框架。 下邊是校驗的流程: 使用的maven,以下是pom.xml: <project xml

基於FPGA和串列埠的CRC碼生成

CRC又稱迴圈冗餘校驗,是資料通訊領域中最常用的一種查錯校驗碼。說是常用,但我在微控制器、FPGA的開發中從來沒有用過,別說是CRC了,就是串列埠的奇偶校驗都很少用。一個課程設計要做些和通訊相關的東西,題目裡面好像就只有這個CRC比較有意思,就研究起了這個。 乍一看起來這個東西好像挺高大上的