Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

linys2333/Authorization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

11 Commits

Repository files navigation

一些说明

用户名随意,测试密码:空

目录

§ 验证流程

§ 身份验证模块

§ 加密算法


§ 验证流程

登录流程


请求认证


退出登陆


§ 身份验证模块

.
├──Server/
│ ├──Common/
 │ ├── Authorization/
 │ ├── IToken.cs
 ├── JwtToken.cs
 ├── JwtAuth.cs
 ├── TokenConfig.cs
 ├── Exceptions.cs

懒得写了,详见IToken.cs


§ 加密算法

数据库存储格式:MD5( [原始密码] )

前端加密格式:MD5( MD5( [原始密码] ).[服务端随机串] ),用于登陆时传入后端

后端校验:[前端加密密码] == MD5( [数据库存储密码].[服务端随机串] )

【注意】:MD5和SHA-1被认为不再安全,微软推荐使用SHA-2系列(SHA-256、SHA-512等)加密算法( https://msdn.microsoft.com/zh-cn/library/92f9ye3s(v=vs.110).aspx#哈希值)

Token对象构成:

 public class JwtToken : IToken
 {
 #region 服务端存储的信息,对客户端隐藏
 public 随机加密盐 Salt { get; set; }
 ...
 #endregion
 #region 提供给客户端的信息
 public 头部 Header { get; set; }
 public 载荷 Payload { get; set; }
 #endregion
 }

Token加密串:Base64Url( [Header] ).Base64Url( [Payload] ).Base64Url( HMAC( Base64Url( [Header] ).Base64Url( [Payload] ) , [Salt] ) )

About

基于JWT Token的身份验证学习

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /