C# 生成JWT的示例代碼
更新時(shí)間:2024年04月02日 10:09:21 作者:Mr_Xul
這篇文章主要介紹了C# 生成JWT的示例代碼,需要的朋友可以參考下
C# 生成JWT的代碼如下所示:
using Microsoft.IdentityModel.Tokens; using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using System.Text; namespace Demo { /// <summary> /// Token處理類 /// </summary> public class Token { /// <summary> /// 生成JWT /// </summary> /// <param name="user"></param> /// <param name="secretKey"></param> /// <param name="issuer"></param> /// <param name="audience"></param> /// <param name="expiryMinutes"></param> /// <returns></returns> public static string GenerateJwt(User user, string secretKey, string issuer, string audience, int expiryMinutes) { var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey)); var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256); var claims = new[] { new Claim(ClaimTypes.Name, user.Username), new Claim(ClaimTypes.Role, user.Group.ToString()), }; var token = new JwtSecurityToken( issuer: issuer, audience: audience, claims: claims, expires: DateTime.UtcNow.AddMinutes(expiryMinutes), signingCredentials: credentials ); var tokenHandler = new JwtSecurityTokenHandler(); var jwtToken = tokenHandler.WriteToken(token); return jwtToken; } } }
到此這篇關(guān)于C# 生成JWT的示例代碼的文章就介紹到這了,更多相關(guān)C# 生成JWT內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過(guò)容器擴(kuò)展屬性IExtenderProvider實(shí)現(xiàn)WinForm通用數(shù)據(jù)驗(yàn)證組件
這篇文章介紹了通過(guò)容器擴(kuò)展屬性IExtenderProvider實(shí)現(xiàn)WinForm通用數(shù)據(jù)驗(yàn)證組件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12C#實(shí)現(xiàn)萬(wàn)物皆可排序的隊(duì)列方法詳解
本文詳細(xì)講解了C#實(shí)現(xiàn)萬(wàn)物皆可排序隊(duì)列的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07C#中Parallel類For、ForEach和Invoke使用介紹
這篇文章介紹了C#中Parallel類For、ForEach和Invoke的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04