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

登錄授權后成功

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM