Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
App
 
 
Doc
 
 
 
 
 
 
 
 

README.md

一些说明

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

目录

§ 验证流程

§ 身份验证模块

§ 加密算法

§ 参考资料


§ 验证流程

登录流程


请求认证


退出登陆


§ 身份验证模块

.
├──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

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.