码迷,mamicode.com
首页 > 其他好文 > 详细

36-应用Jwtbearer Authentication

时间:2018-07-22 23:27:05      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:set   start   startup   ida   token   figure   增加   value   技术   

新建.net core webapi项目

E:\coding\netcore>dotnet new webapi --name JwtAuthSample

创建需要用到的实体对象类

namespace JwtAuthSample.Models
{
    public class JwtSettings{
        //发现者
        public string Issure{get;set;}
        //使用者
        public string Audience{get;set;}
        //jwt使用的密码
        public string SecretKey {get;set;}

    }
}

在appsettings.json 中增加映射到实体类JwtSettings的配置文件

"JwtSettings":{
    "Issure":"http://localhost:5000",
    "Audience":"http://localhost:5000",
    "SecretKey":"123456789@byd@33311fasdfsad"
  }

 

在StartUp.cs方法ConfigureServices中配置如下代码,用于Jwt验证

  public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            services.Configure<JwtSettings>(Configuration.GetSection("JwtSettings"));
            var jwtSetting =  new JwtSettings();
            Configuration.Bind("JwtSettings",jwtSetting);

            services.AddAuthentication(options=>{
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(jwtOption=>{
                jwtOption.TokenValidationParameters=new Microsoft.IdentityModel.Tokens.TokenValidationParameters{
                    ValidIssuer = jwtSetting.Issure,
                    ValidAudience = jwtSetting.Audience,
                    IssuerSigningKey = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(
                        System.Text.Encoding.UTF8.GetBytes(jwtSetting.SecretKey)
                    )
                };
            });
        }

为了让受权生效,需要在Configure启用授权

技术分享图片

 

接下来测试授权有没有生效

需要在要授权的类或方法上加下[Authorize]特性

技术分享图片

 

 

通过测试器访问 http://localhost:5000/api/values/ ,会出出现401未授权错误

技术分享图片

 

36-应用Jwtbearer Authentication

标签:set   start   startup   ida   token   figure   增加   value   技术   

原文地址:https://www.cnblogs.com/qinzb/p/9351774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!