61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
using System.Security.Claims;
|
|
using NUnit.Framework;
|
|
using JwtUtil = Bunny.Common.Utils.Jwt.JwtUtil;
|
|
|
|
namespace Bunny.Test.Until.Jwt;
|
|
|
|
[TestFixture]
|
|
public class JwtTest
|
|
{
|
|
// 生层JWT
|
|
[Test]
|
|
public void JwtCreateTest()
|
|
{
|
|
var claims = new List<Claim>();
|
|
var claim1 = new Claim("bunny", "小兔子");
|
|
claims.Add(claim1);
|
|
var generateJwt = JwtUtil.GenerateJwt(claims);
|
|
|
|
Console.WriteLine(generateJwt);
|
|
}
|
|
|
|
// 是否过期
|
|
[Test]
|
|
public void IsJwtExpired()
|
|
{
|
|
var isJwtExpired = JwtUtil.IsJwtExpired("");
|
|
Console.WriteLine(isJwtExpired);
|
|
}
|
|
|
|
[Test]
|
|
public void JwtParse()
|
|
{
|
|
var token = "eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJidW5ueSI6IuWwj-WFlOWtkCIsImV4cCI6MTcxODAyODU5OH0.\n";
|
|
|
|
var jwtParse = JwtUtil.JwtParse(token);
|
|
var jwtParseIssuer = JwtUtil.JwtParseIssuer(token);
|
|
var jwtParseAudiences = JwtUtil.JwtParseAudiences(token);
|
|
var jwtParseClaim = JwtUtil.JwtParseClaim(token);
|
|
|
|
Console.WriteLine(jwtParse);
|
|
Console.WriteLine(jwtParseIssuer);
|
|
Console.WriteLine(jwtParseAudiences);
|
|
Console.WriteLine(jwtParseClaim);
|
|
foreach (var claim in jwtParseClaim)
|
|
{
|
|
Console.WriteLine($"Type:{claim.Type}");
|
|
Console.WriteLine($"Value:{claim.Value}");
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void JwtParseClaim()
|
|
{
|
|
var token = "eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJidW5ueSI6IuWwj-WFlOWtkCIsImV4cCI6MTcxODAyODU5OH0.\n";
|
|
var jwtParseClaim = JwtUtil.JwtParseClaim(token);
|
|
var enumerable = jwtParseClaim.Select(s => s.Type);
|
|
var join = string.Join(" ", enumerable);
|
|
|
|
Console.WriteLine(join);
|
|
}
|
|
} |