zoukankan      html  css  js  c++  java
  • .net core 3 web api jwt 一直 401

    最近在给客户开发 Azure DevOps Exension, 该扩展中某个功能需要调用使用 .NET Core 3 写的 Web Api。
    在拜读了 Authenticating requests to your service 之后,我给 Web Api 增加了 JWT 认证。

    PS: 我没有照抄代码,问题出现了.....问题出现了.....问题出现了.....

    Postman 请求该 Web Api, 一直报 401 Unauthorized, 无论我换何种姿势请求, 都是 401 Unauthorized.
    心中哪个老火啊, 上 jwt.io 校验了一下,是合法通过的,就是不知道为毛 Postman 不通过.
    百思不得其解,度娘了一下, 有个标题引起了我的注意——.net core 3 web api jwt 一直 401
    进去看了一眼,恍然大悟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    答案竟然是:

    app.UseAuthorization(); 之前加上 app.UseAuthentication(); 就可以了。

    心中十万个草泥马在奔腾,因为这两个方法签名的单词太接近了,而且我英语很烂所以对相似的单词都是一眼略过,以为是一样的就没有照搬添加 app.UseAuthentication();
    结果乌龙就发生了...

    以下内容转载自:https://www.iteye.com/blog/lucky16-2020198

    认证 (authentication) 和授权 (authorization) 的区别

    以前一直分不清 authentication 和 authorization,其实很简单,举个例子来说:
    
    你要登机,你需要出示你的身份证和机票,身份证是为了证明你张三确实是你张三,这就是 authentication;
    而机票是为了证明你张三确实买了票可以上飞机,这就是 authorization。
    
    在 computer science 领域再举个例子:
    
    你要登陆论坛,输入用户名张三,密码1234,密码正确,证明你张三确实是张三,这就是 authentication;
    再一check用户张三是个版主,所以有权限加精删别人帖,这就是 authorization。
    
  • 相关阅读:
    Codeforces 1082 毛毛虫图构造&最大权闭合子图
    BZOJ 1003 最短路dp
    BZOJ 1002 生成树计数&高精度
    BZOJ 1001 平面图转对偶图
    BZOJ 世界树
    一般图极大团个数,最大团顶点数
    第十五届四川省省赛 SCU
    第十五届四川省省赛 SCU
    第十五届四川省省赛 SCU
    BZOJ4671异或图
  • 原文地址:https://www.cnblogs.com/VAllen/p/dotnet-core-3-jwt-response-401-unauthorized.html
Copyright © 2011-2022 走看看