如何生成token,是使用token
如何生成token
private Token GetJwt(User user){var now = DateTime.UtcNow;var claims = new Claim[]{new Claim(MyClaimTypes.UserId,user.ID.ToString(),ClaimValueTypes.Integer32),new Claim(MyClaimTypes.UserName,user.UserName),//new Claim(MyClaimTypes.RoleId,user.RoleID.ToString(),ClaimValueTypes.Integer32),new Claim(MyClaimTypes.RoleCode,user.RoleCode),new Claim(MyClaimTypes.DepartmentId,user.DepartmentID.ToString(),ClaimValueTypes.Integer32),new Claim(MyClaimTypes.DepartmentName,user.DepartmentName??""),//new Claim(JwtRegisteredClaimNames.Sub, user.UserName),new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),new Claim(JwtRegisteredClaimNames.Iat, now.ToUniversalTime().ToString(),ClaimValueTypes.Integer64)};var jwt = new JwtSecurityToken(issuer: _options.Issuer,audience: _options.Audience,claims: claims,notBefore: now,expires: now.Add(_options.Expiration),signingCredentials: _options.SigningCredentials);var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt);return new Token{access_token = encodedJwt,expires_in = (int)_options.Expiration.TotalSeconds,token_type = "Bearer"};}
//获取token中的参数
public static UserInfoLogin ConvertToUserInfo(ClaimsPrincipal claimsPrincipal){int.TryParse(claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.ID)?.Value, out int id);string roles = claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.Roles)?.Value;string loginName = claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.LoginName)?.Value;string passWord = claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.PassWord)?.Value;string userName = claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.UserName)?.Value;string telephone = claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.Telephone)?.Value;int.TryParse(claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.UserType)?.Value, out int userType);int.TryParse(claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.AdminAddressType)?.Value, out int adminAddressType);int.TryParse(claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.Strength)?.Value, out int strength);string Model = claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.Module)?.Value;string socialNum = claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.SocialNum)?.Value;int.TryParse(claimsPrincipal.Claims.FirstOrDefault(m => m.Type == ClaimKeys.AddressType)?.Value,out int addressType);return new UserInfoLogin{ID = id,Roles = roles,LoginName = loginName,UserName = userName,Telephone = telephone,UserType = userType,AdminAddressType = adminAddressType,Strength = strength,Module = Model,SocialNum= socialNum,AddressType= addressType,PassWord = passWord,};}
如何生成token,是使用token相关推荐
- 【Flask项目2】生成token和验证token(11)
用户登录 用户登录的功能我们使用 Json Web Token(JWT) 来为登录用户生成token令牌,并返回给客户端,客户端有了令牌之后,每次访问服务器,都携带Token,后台经过验证就能知道当前 ...
- 生成一个GitHub的token用于git推送本地库至远程库
1 一步步选择设置 2 使用链接直接跳转到最后一步的设置页 git push 的时候需要token,所以在GitHub上生成一个临时的token 1 一步步选择设置 2 使用链接直接跳转到最后一步的设 ...
- java 生成token代码_java token生成和校验的实例代码
现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例. 缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存 ...
- JWT 生成Token、解析Token的简单工具类
pom.xml导入依赖: <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt& ...
- jwt生成token与解析token
1.生成token与解析token部分代码 pom <!-- token验证 --><dependency><groupId>com.auth0</group ...
- jwt生成token和验证token以及获取playload的数据,实现token拦截
jwt实现流程: 1.添加依赖: <dependency><groupId>com.auth0</groupId><artifactId>java-jw ...
- java token生成和验证_Java Token登录验证 生成解析Token
借鉴参考 Java Token登录验证 使用jjwt生成和解析JWT java基于token验证之登陆验证 等 什么是Token? 我的理解来说 token就是你访问服务器的口令,只要token合法, ...
- 关于 IdentityServer4 中的 Jwt Token 与 Reference Token
原文:关于 IdentityServer4 中的 Jwt Token 与 Reference Token OpenID Connect(Core),OAuth 2.0(RFC 6749),JSON W ...
- php后台跨域token,JSON Web Token(JWT)目前最流行的跨域身份验证解决方案(PHP)类...
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案,下面我自己封装了一个PHP的Jwt类,直接复制即可使用,无需composer安装包: 常规的身份验证流程为: 该方案的最大的短 ...
- 获取token(/oauth/token)
1.入口方法(spring-security-oauth2-2.0.14.RELEASE-sources.jar) @FrameworkEndpoint public class TokenEndpo ...
最新文章
- 使用maven导入jar包
- 使用httpClient发送get\post请求
- 安全与加密-使用gpg和openssl实现加密与解密
- case....when ...多重判断
- java web系统拆分_Java系统中如何拆分同步和异步
- javamac系统通过pid获取进程名称_线上环境 Linux 系统调用追踪
- mysql数据库五大对象_数据库的三大范式以及五大约束
- 发布md 的文章测试
- VisualStudio配置中文提示
- linux系统怎么安装pr,Linux安装后的配置
- 【渝粤教育】国家开放大学2018年秋季 1317T社会工作行政(本) 参考试题
- Java正常关闭资源的方式
- overridden/inherited关键字的读书笔记
- HTML+CSS系列教程导学
- volatility内存取证----命令演示
- spyder替换_Spyder快捷键
- 班门弄斧之机械设计理论
- 从零开始学WEB前端——网页的骨架——HTML理论讲解
- Navicat 解决问题:提示No All Pattern Found File Already Patched?
- raspberrypi