【问题标题】:Windows Authentication for Postman RestsharpPostman Restsharp 的 Windows 身份验证
【发布时间】:2020-09-09 00:47:09
【问题描述】:

目前,

我使用 Postman Restsharp 在 iphone Safari 移动设备中检索 JWT 令牌。

请问如何添加Windows认证?

我尝试了以下方法,但我无法检索响应数据。

但它在公司笔记本电脑上工作。

var client = new RestClient("https://mvponduty.com/XChange_App_Api/api/auth/authenticate");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.UseDefaultCredentials = true;
request.AddHeader("Content-Type", " application/json; charset=utf-8");
request.AddHeader("Access-Control-Allow-Origin", " *");
request.AddHeader("Cache-Control", " no-cache");
request.AddHeader("Pragma", " no-cache");
request.AddHeader("Cookie", ".AspNetCore.Session=CfDJ8AoxL%2BrAgZtDtnzh7ZplJfx4moiRGYT4rFtA6zp%2B1d8CAQ4D%2FZary6IvN%2Ftjm7wl2Ke992wbhnP7cmv3q7ba0%2BQoZKHuT%2B2FyJzIAjaJFH2GX0ZFiz1nHdSLyGhPMrG4KCNXZ94u79I7DHKjVAxcREfISUxxrFnxib0Aw1Q4yNQw");
request.AddParameter(" application/json; charset=utf-8", "",  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

【问题讨论】:

    标签: postman windows-authentication restsharp ntlm-authentication


    【解决方案1】:

    我使用另一种方法生成 JWT Token。

      string key = "iNivDmHLpUA223sqsfhqGbMRdRj1PVkH";
    
                // Create Security key  using private key above:
                // not that latest version of JWT using Microsoft namespace instead of System
                var securityKey = new Microsoft
                   .IdentityModel.Tokens.SymmetricSecurityKey(Encoding.UTF8.GetBytes(key));
    
                // Also note that securityKey length should be >256b
                // so you have to make sure that your private key has a proper length
                //
                var credentials = new Microsoft.IdentityModel.Tokens.SigningCredentials
                                  (securityKey, SecurityAlgorithms.HmacSha256Signature);
    
                //  Finally create a Token
                var header = new JwtHeader(credentials);
    
                //Some PayLoad that contain information about the  customer
                var payload = new JwtPayload
               {
                    { "sub", "hello "},
                    { "scope", "http://dummy.com/"},
    };
    
         
                var secToken = new JwtSecurityToken(header, payload);
                var handler = new JwtSecurityTokenHandler();
    
                // Token to String so you can use it in your client
                var tokenString = handler.WriteToken(secToken);
    
              
    
                Console.WriteLine(tokenString);
    

    【讨论】:

      猜你喜欢
      • 2020-03-04
      • 1970-01-01
      • 2014-03-03
      • 2014-11-02
      • 2015-01-13
      • 2023-03-07
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      相关资源
      最近更新 更多