zoukankan      html  css  js  c++  java
  • 基于JWT(Json Web Token)的ASP.NET Web API授权方式

    token应用流程

    初次登录:用户初次登录,输入用户名密码

    密码验证:服务器从数据库取出用户名和密码进行验证

    生成JWT:服务器端验证通过,根据从数据库返回的信息,以及预设规则,生成JWT

    返还JWT:服务器的HTTP RESPONSE中将JWT返还

    带JWT的请求:以后客户端发起请求,HTTP REQUEST HEADER中的Authorizatio字段都要有值,为JWT

    Install-Package JWT

    实战教程

    install-package Thinktecture.IdentityModel.Core
    install-package Microsoft.Owin.Security.Jwt

     解决错误

    http://home.bdqn.cn/thread-13632-1-1.html

    在IIS中访问APS页面时提示:“最可能的原因使用的托管的处理程序,但是未安装或未完整安装asp.net“

    打开CMD窗口,执行下面的命令:

    "%WINDIR%Microsoft.NETFrameworkv4.0.30319aspnet_regiis.exe" -iru -enable

    认证原理

    一个不记名 token 包含了三部分:header,payload,signature。

    header 是 token 的一部分,用来存放 token 的类型和编码方式,通常是使用 base-64 编码。

    payload 包含了信息。你可以存放任一种信息,比如用户信息,产品信息等。它们都是使用 base-64 编码方式进行存储。

    signature 包括了 header,payload 和密钥的混合体。

     

    代码实战

    JsonWebToken.Validate(accessToken, ApiAccount.AppSecret, (int)AppSettings.TokenTimeout.TotalSeconds);

    参考资料

    https://www.cnblogs.com/danvic712/p/10331976.html

    http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html

    http://www.cnblogs.com/grissom007/p/6294746.html

    http://www.cnblogs.com/selimsong/p/8184904.html

    https://www.cnblogs.com/xz816111/p/9620139.html

  • 相关阅读:
    [LeetCode] 769. Max Chunks To Make Sorted
    [LeetCode] 563. Binary Tree Tilt
    [LeetCode] 1802. Maximum Value at a Given Index in a Bounded Array
    [LeetCode] 1198. Find Smallest Common Element in All Rows
    [LeetCode] 370. Range Addition
    [LeetCode] 1749. Maximum Absolute Sum of Any Subarray
    [LeetCode] 1801. Number of Orders in the Backlog
    [LeetCode] 869. Reordered Power of 2
    [LeetCode] 841. Keys and Rooms
    [LeetCode] 1603. Design Parking System
  • 原文地址:https://www.cnblogs.com/cnki/p/6297182.html
Copyright © 2011-2022 走看看