postman-- underlying operating authorization --API

When a request, typically includes a parameter, and to ensure that the requests to access the required data Lake Van, postman provides authorization type, to handle authentication postman in question;

 

 Reference website: https://learning.getpostman.com/docs/postman/sending-api-requests/authorization/

(1) Basic authentication (basic auth);

(2), digest authentication (digest auth);

(3)、oauth;

================================================================================================================

Authorization Request

API license to ensure secure access to client requests data. This may involve a request to the sender to authenticate and verify whether they have the right to access or manipulate data. If you want to build API, you can choose from a variety of authentication model. If you want to integrate third-party API, authorization is required by the API provider specified.

You can pass the authentication details as well as any request sent in the Postman. Auth data may be included in the title, the body, or as one parameter of the request. If the "  Authorization" tab, enter authentication details , your postman will automatically select the relevant part of the authentication type to fill the request. You can use variables and collection to safer and more effective to define license details, so you can reuse the same information in multiple locations.

content

Specifies the license details

In the postman soon as you open requests "  authorization" tab of the "  Type" drop-down list to select an authentication type. Postman relevant details of the selected type of prompt you to complete. The correct data value decision by the API server - if you are using a third-party API, you need to consult the provider to obtain any required authentication details.

Authentication Type

You can use these authentication types in Newman and Postman monitors, and applications.

When you select a type, the postman will point out your details will be included in what part of the request, such as title, text, URL or query parameters. Click preview request to see how to add your authentication data to the request, and then try to send.

Preview request

Your authentication data appears in the relevant part of the request, for example, using the standard format can handle your API, to attach it to a text header.

Token carrying preview

You can request use of the environment, and global set of variables . Postman or header data is not saved query parameters, to avoid exposure of sensitive data (e.g., API key).

After sending, you can check the entire raw dump requested Postman console, including authentication data.

Inheritance Certification

If the request classification set and folders , you can specify the authentication details to be reused across the group.

Select a folder or set of collections on the left side postman application. Use overflow button ( ... ) to open the Options, then select "  Edit" to configure the collection or folder details.

Edit Favorites

在编辑视图中,选择“ 授权”选项卡。

Collection Authorization

默认情况下,集合或文件夹中的请求将继承父项的身份验证,这意味着它们将使用您在文件夹或集合级别指定的身份验证。要针对单个请求更改此设置,请在请求的“ 授权”选项卡中进行其他选择

Inheritance authorization

首次创建集合或文件夹时,可以使用相同的技术预先选择授权类型。

没有授权

邮递员将不会尝试通过请求发送授权详细信息,除非您指定身份验证类型。如果您的请求不需要授权,请从“ 授权”选项卡的“ 类型”下拉列表中选择“ 无身份验证 ” 

不记名令牌

承载令牌允许使用访问密钥(例如JSON Web令牌(JWT))对请求进行身份验证。令牌是文本字符串,包含在请求标头中。在请求授权选项卡中,类型下拉列表中选择承载令牌在“ 令牌”字段中,输入您的API密钥值-或为了增加安全性,将其存储在变量中并按名称引用该变量。

Token carrying preview

邮递员将令牌值以要求的格式附加到文本“ Bearer”上,如下所示:

Bearer <Your API key>

Token carrying preview

基本认证

基本身份验证涉及随请求一起发送经过验证的用户名和密码。在请求授权选项卡中,类型下拉列表中选择基本身份验证

Basic Authentication

在“ 用户名”和“ 密码”字段中输入您的API登录详细信息-为了提高安全性,您可以将其存储在变量中。

单击预览请求以查看邮递员如何将基本身份验证详细信息附加到请求。在请求标头中,您将看到正在向Authorization标头传递一个表示您的用户名和密码值的Base64编码的字符串,该字符串附加到文本“ Basic”中,如下所示:

Basic <Base64 encoded username and password>

Basic authentication coding

摘要授权

使用Digest auth,客户端将向API发送第一个请求,服务器将以一些详细信息进行响应,包括只能使用一次(一次)的数字,领域值和401未经授权的响应。然后,在第一个请求中,将包含用户名和密码的加密数据数组与从服务器接收到的数据相结合,发送回去。服务器使用传递的数据来生成加密的字符串,并将其与您发送的字符串进行比较,以认证您的请求。

请求的“ 授权”选项卡中,从“ 类型”下拉列表中选择“摘要身份验证 ” 邮递员将显示身份验证请求两个阶段的字段,但是它将使用第一个请求从服务器返回的数据自动完成第二个请求的字段。要允许Postman自动执行流程,请输入用户名密码值(或变量),这些值将与第二个请求一起发送。

Digest Authentication

如果您不希望Postman自动提取数据,请选中此框以禁用重试请求。如果这样做,则需要填写高级字段并手动运行每个请求。

高级字段是可选的,邮递员将在您的请求运行时尝试自动填充它们。

  • 领域:服务器在WWW-Authenticate响应标头中指定的字符串
  • Nonce:服务器在WWW-Authenticate响应标头中指定的唯一字符串
  • Algorithm:一个字符串,指示用于生成摘要和校验和的一对算法。
  • qop:应用于消息的保护质量。该值必须是服务器在WWW-Authenticate响应标头中指定的替代值之一
  • Nonce Count(立即数):客户端已发送的请求数量(包括当前请求)的十六进制计数,该请求中的随机数值为。
  • 客户端现时:客户端提供的不透明的带引号的字符串值,客户端和服务器均使用该值来避免选择的明文攻击,提供相互身份验证并提供某些消息完整性保护。
  • 不透明:服务器在WWW-Authenticate响应头中指定的数据字符串,应与相同保护空间中的URI一起使用。

OAuth 1.0

OAuth 1.0允许客户端应用程序访问第三方API提供的数据。例如,作为服务的用户,您可以授予另一个应用程序对该服务的数据访问权限,而无需暴露您的登录详细信息。通过OAuth 1.0流访问用户数据需要在客户端应用程序,用户和服务提供商之间来回几个请求。

OAuth 1.0有时被称为“两足”(仅在客户端和服务器之间进行身份验证)或“三足”(客户端在其中向第三方服务的用户请求数据)。

  • 为了使用第三方服务请求用户数据,使用者(客户端应用程序)使用密钥和机密请求访问令牌。
  • 服务提供者发出初始令牌(不提供对用户数据的访问),而使用者则向用户请求授权。
  • 当用户授予身份验证时,消费者发出请求,将临时令牌交换为访问令牌,并通过用户身份验证。
  • 服务提供商返回访问令牌,然后消费者可以向服务提供商提出请求以访问用户的数据。

请求的“ 授权”标签中,从“ 类型”下拉列表中选择OAuth 1.0

OAuth 1.0

输入您的使用者密钥使用者密钥访问令牌令牌密钥值。您可以选择设置高级细节,否则Postman会尝试自动完成这些细节。

您可以在请求标头或正文/ URL中包括身份验证详细信息-从下拉列表中选择一个。如果要检查详细信息将如何包含在请求中,请单击“ 预览请求”。

如果您在标头中发送OAuth 1.0数据,则会看到一个Authorization标头,该标头将您的密钥和机密值以及附加的逗号分隔的必需详细信息附加到字符串“ OAuth”中。

Header OAuth 1.0

如果你在身体和URL发送的OAuth 1.0的数据,你会发现在请求或者将数据添加到身体参数取决于请求方法。

OAuth 1.0 query parameters

如果request方法为POSTPUT,并且请求正文类型为x-www-form-urlencoded,则Postman会将授权参数添加到请求正文中。否则,例如在GET请求中,您的密钥和机密数据将在URL查询参数中传递。

OAuth 1.0 auth参数值如下:

  • 消费者密钥:用于识别服务提供商的消费者的值。
  • 消费者秘密:消费者用来建立密钥所有权的一种值。
  • 访问令牌:代表消费者访问用户数据的权限的值。
  • 令牌秘密:消费者用于建立给定令牌所有权的值。
  • 进阶参数:

    • 签名方法:建立给定令牌所有权的消费者机密。
    • 时间戳:服务器用来防止在时间窗口之外进行重放攻击的时间戳。
    • Nonce:客户端生成的随机字符串。
    • 版本: OAuth身份验证协议的版本(1.0)。
    • 领域:服务器在WWW-Authenticate响应标头中指定的字符串

OAuth 1.0的某些实现要求将空参数添加到签名中。如果需要,请选中将空参数添加到签名复选框。

OAuth 2.0

OAuth 1.0允许客户端应用程序访问第三方API提供的数据。例如,作为服务的用户,您可以授予另一个应用程序对该服务的数据访问权限,而无需暴露您的登录详细信息。使用OAuth 2.0,您首先要检索API的访问令牌,然后使用该令牌来认证将来的请求。在API服务提供商之间,通过OAuth 2.0流访问数据的方式有很大不同,但是通常涉及一些在客户端应用程序,用户和API之间来回的请求。

OAuth 2.0流程示例可以如下运行:

  • 客户端应用程序请求用户授权对其数据的访问。
  • 如果用户授予访问权限,则应用程序然后向服务提供商请求访问令牌,并传递用户的访问权限和身份验证详细信息以标识客户端。
  • 服务提供商将验证这些详细信息并返回访问令牌。
  • 客户端使用访问令牌通过服务提供商请求用户数据。

请求的“ 授权”标签中,从“ 类型”下拉列表中选择OAuth 2.0指定是否要在请求URL或标题中传递身份验证详细信息。

OAuth 2.0

要请求访问令牌,请点击获取新的访问令牌

Obtain access token

输入您的客户端应用程序的详细信息,以及服务提供商提供的所有身份验证详细信息。这使您可以在Postman内部复制应用程序身份验证流,以测试经过身份验证的请求。

邮递员将提示您根据OAuth 2.0 授予类型提供特定的详细信息,这些类型可以是授权代码隐式密码凭证客户端凭证

授权码

授权码授予类型要求用户向提供者进行验证-授权码然后​​发送回客户端应用程序,提取并与提供者交换以获得访问令牌以验证后续请求。

要使用授权码授予类型,请输入客户端应用程序回调URL(应在API提供商处注册),以及API服务提供的各种详细信息,包括Auth URL访问令牌URLClient IDClient Secret

隐含的

隐式授予类型立即将访问令牌返回到客户端,而无需执行额外的身份验证代码步骤(因此安全性较低)。

要将隐式授予类型用于Postman中的请求,请输入您已向API提供程序注册回调URL,提供程序Auth URL以及已注册应用程序客户端ID

密码凭证

OAuth 2.0密码授予类型涉及直接从客户端发送用户名和密码,因此,如果您要处理第三方数据,则不建议使用。

要使用密码授予类型,请输入API提供者的访问令牌URL,以及用户名密码在某些情况下,您还需要提供客户端ID和密码。

客户凭证

客户端凭据授予类型通常不用于访问用户数据,而是用于与客户端应用程序关联的数据。

输入提供者的访问令牌URL以及您注册的应用程序客户端ID客户端密钥

请求OAuth 2.0令牌

请求新访问令牌的参数的完整列表如下,具体取决于您的授予类型:

  • 令牌名称:您要用于令牌的名称
  • 授予类型:选项的下拉列表-这将取决于API服务提供商的要求。
  • 回调URL:身份验证后重定向到的客户端应用程序回调URL,应在API提供程序中注册。如果未提供,Postman将使用默认的空URL并尝试从中提取代码或访问令牌-如果此方法不适用于您的API,则可以使用以下URL:https://www.getpostman.com/oauth2/callback
  • 身份验证URL: API提供程序授权服务器的端点,用于检索身份验证代码。
  • 访问令牌URL:提供商的身份验证服务器,用于交换访问令牌的授权代码。
  • 客户端ID:您在API提供商处注册的客户端应用程序的ID。
  • 客户端机密: API提供商提供给您的客户端机密。
  • 范围:您所请求的访问范围,其中可能包含多个以空格分隔的值。
  • 状态:不透明的值,以防止跨站点请求伪造。
  • 客户端身份验证:一个下拉列表-在标头中发送基本身份验证请求,或在请求正文中发送客户端凭据。升级到新版本后,请更改此下拉菜单中的值,以避免客户端身份验证出现问题。

配置完成后,点击请求令牌如果您成功从API接收到令牌,则将看到其详细信息,到期时间以及可选的刷新令牌,当当前令牌过期时,您可以使用该令牌来检索新的访问令牌。单击“ 使用令牌”以选择返回的值。

任何成功检索的令牌都将在请求“ 可用令牌”下拉列表中列出。选择一个发送您的请求。在下拉列表中选择管理令牌以查看更多详细信息或删除您的令牌。

在Postman中删除令牌不会撤消访问权限。只有发出令牌的服务器才能撤销它。

鹰认证

Hawk身份验证使您可以使用部分密码验证来授权请求​​。

请求的“ 授权”选项卡中,从“ 类型”下拉列表中选择“ Hawk身份验证 ” 

Eagle certification

Hawk Auth IDHawk Auth KeyAlgorithm字段中输入您的详细信息您可以选择设置高级详细信息,但必要时Postman会尝试为其生成值。

Hawk身份验证参数如下:

  • Hawk身份验证ID:您的API身份验证ID值。
  • Hawk身份验证密钥:您的API身份验证密钥值。
  • 算法:用于创建消息认证码(MAC)的哈希算法。
  • 进阶参数:

    • 用户:用户名。
    • Nonce:客户端生成的随机字符串。
    • ext:与请求一起发送的任何特定于应用程序的信息。
    • app:凭据与应用程序之间的绑定,以防止攻击者使用发布给他人的凭据。
    • dlg:颁发证书的应用程序的ID。
    • 时间戳:服务器用来防止在时间窗口之外进行重放攻击的时间戳。

AWS签名

AWS是Amazon Web Services请求的授权工作流程。AWS使用基于键控HMAC(哈希消息身份验证代码)的自定义HTTP方案进行身份验证。

官方的AWS Signature文档提供了更多详细信息:

请求的“ 授权”选项卡中,从“ 类型”下拉列表中选择“ AWS签名 ” 

AWS signature authentication

直接在字段中或通过变量输入访问密钥和秘密值,以提高安全性。

您可以选择设置高级字段,但必要时Postman会尝试自动生成这些字段。

AWS Signature参数如下:

  • AWS区域:接收请求的区域(默认为us-east-1)。
  • 服务名称:接收请求的服务。
  • 会话令牌:仅在使用临时安全凭证时才需要。

NTLM身份验证

Windows质询/响应(NTLM)是Windows操作系统和独立系统的授权流程。

请求的“ 授权”选项卡中,从“ 类型”下拉列表中选择“ NTLM身份验证 ” 

NTLM authentication

输入用于NTLM访问的用户名密码(使用变量以避免直接输入值)。您可以选择指定高级参数,但必要时Postman会尝试自动完成这些参数。默认情况下,您的请求将在提取第一次收到的数据后第二次运行-您可以通过选中此复选框来禁用它。

NTLM身份验证的高级参数如下:

  • 域:要对其进行身份验证的域或主机。
  • 工作站: PC的主机名。

Akamai EdgeGrid

Akamai Edgegrid是Akamai开发和使用的授权帮助程序。

请求的“ 授权”选项卡中,从“ 类型”下拉列表中选择Akamai EdgeGrid

Akamai EdgeGrid Authentication

使用变量来输入Access TokenClient TokenClient Secret,以提高安全性-在Akamai注册客户端应用程序时,您将收到这些详细信息。

有关获取凭据的信息,请参阅Akamai开发人员-授权您的客户端

同步cookie

如果浏览器中有会话cookie,则可以使用Interceptor将它们同步到Postman(请参阅Interceptor扩展Cookies)以获取更多详细信息。

下一步

If you have problems obtaining request for authentication and successfully run, try to API requests were troubleshooting in some skills . If you still have the authentication problem, in Postman forum to check out the authentication tag .

Guess you like

Origin www.cnblogs.com/xiaobaibailongma/p/12131157.html