Swagger+IdentityServer4测试授权验证

1、Bearer授权操作,添加如下代码

  services.AddSwaggerGen(options =>
               {
     options.AddSecurityDefinition("Bearer", new ApiKeyScheme
                   {
                       Description = "JWT Bearer 授权 \"Authorization:     Bearer+空格+token\"",
                       Name = "Authorization",
                       In = "header",
                       Type = "apiKey"
                   });

    });        

可以看到swagger的授权按钮:

点击授权按钮:

填写授权的access_token授权

2、OAuth2授权,配置好相关的客户端

添加授权类:

 /// <summary>
    /// IdentityServer4认证处理
    /// </summary>
    public class IdentityServer4OAuth2OperationFilter : IOperationFilter
    {
        public void Apply(Operation operation, OperationFilterContext context)
        {
           
            if (operation.Security == null)
                operation.Security = new List<IDictionary<string, IEnumerable<string>>>();
            var oAuthRequirements = new Dictionary<string, IEnumerable<string>>
                                        {
                                          
                                              {"oauth2", new List<string> { "openid", "profile", "UserServicesApi" }}
                                        };
            operation.Security.Add(oAuthRequirements);
        }
    }
options.AddSecurityDefinition("oauth2", new OAuth2Scheme
                   {
                      Type = "oauth2",
                      Flow = "implicit",
                     AuthorizationUrl = "http://localhost:30000/connect/authorize",
                    Scopes = new Dictionary<string, string>
                       {
                           { "UserServicesApi", "用户服务" }
                      }
                  });

                   options.OperationFilter<IdentityServer4OAuth2OperationFilter>();

 

授权如下,点击授权会转到授权页面

来看下地址:

http://localhost:30000/Account/Login
?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3F
response_type%3Dtoken%26
client_id%3Dxujiemingapi%26
redirect_uri%3Dhttp%253A%252F%252Flocalhost%253A20001%252Fswagger%252Foauth2-redirect.html%26scope%3DUserServicesApi%26state%3DRnJpIE1heSAxMSAyMDE4IDE4OjE0OjE4IEdNVCswODAwICjkuK3lm73moIflh4bml7bpl7Qp

登录授权后成功

 
 

 

转载于:https://www.cnblogs.com/liyouming/p/9026101.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值