通过Postman传递NTLM

时间:2016-05-20 08:08:06

标签: postman

有没有办法通过Windows Authentication传递postman

我已将其添加到标题中,但仍然是401 Unauthorized

Authorization: NTLM TkFcYWRtaW46dGVzdA==

正如this链接所建议的那样。我加密为Unicode (UTF-16, little-endian)但没有用。

任何想法?

10 个答案:

答案 0 :(得分:95)

我通过首先运行Fiddler来实现这一目标。

  1. 运行Fiddler(我正在使用4.6.2.3)
  2. 提琴手菜单:规则 - >自动Authenticate = true
  3. 邮差:检查授权类型=否验证
  4. 浏览api。

答案 1 :(得分:28)

您可以使用与此照片相同的授权标签中存在的NTLM授权

enter image description here

答案 2 :(得分:17)

我认为没有办法做到这一点。但是,你并不孤单......

https://github.com/postmanlabs/postman-app-support/issues/1137

[编辑] 在添加此编辑时,Postman在其最新版本中具有测试版的NTLM身份验证。

https://www.getpostman.com/docs/v6/postman/sending_api_requests/authorization

答案 3 :(得分:5)

我建议使用insomnia。它是免费的,您可以在此处查看有关如何添加NTLM Auth的文档:https://insomnia.rest/documentation/authentication/

答案 4 :(得分:3)

NTLM身份验证适用于Postman的Chrome插件版本,因为内置的Chrome NTLM身份验证可以与插件一起使用。但是,Chrome不再支持插件,因此无法再安装和使用此版本。

Postman的当前应用版本(Chrome应用和原生应用版本)不支持NTLM身份验证。

答案 5 :(得分:1)

您还可以更改互联网选项并将登录设置为: 使用当前用户名和密码自动登录

取自: https://sysadminspot.com/windows/google-chrome-and-ntlm-auto-logon-using-windows-authentication/

如果网站使用https,您可以将其添加到可信站点并将其设置在那里,否则您可以将其添加到本地Intranet站点并设置自定义级别......那里。

开放互联网选项: Open internet options

单击自定义级别...并滚动到底部:

Click Custom level... and scroll to bottom

答案 6 :(得分:0)

Postman现在仅在其桌面应用程序上执行NTLM。

答案 7 :(得分:0)

我将对Hala's answer进行改进,因为由于在请求中存储凭据而导致问题,如果使用凭据,这些凭据可能会保存在共享存储库中。

成功发出请求后,清除凭据

一种方法是输入凭据-用户名,密码和域-进行请求并删除它们。随后的请求将起作用,这可能是由于使用了与Postman相同的NTLM身份验证标头。临时授权标头(模糊),其值如下:NTLM some_base64_content

使用环境变量存储敏感数据

定义类似于以下内容的使用和配置环境:

Configure environment

在请求中使用配置的环境变量:

Request authorization data

答案 8 :(得分:0)

was added至5.3.0中的Postman应用程序。但是,此支持在5.4.1中已被打破,在Postman App issue #4355的最新版本的Postman中仍然被打破。

仍然可以从Postman站点下载该应用程序的较早工作版本,其中5.3.2版是使用NTLM身份验证的最后一个版本:

答案 9 :(得分:-3)

如果您使用C#开发API,则可以在基本控制器上使用以下内容

#if !DEBUG 
   [Authorize] 
#endif