使用 Oauth 2.0 授权流程 + PKCE 在 Postman 中自动获取访问令牌

Automate getting access token in Postman using Auth2.0 AuthorizationFlow + PKCE

所以我目前在邮递员中设置了所有请求,并且能够向我的 api 发出请求,我首先需要转到“授权”选项卡并单击“获取访问令牌”,然后是一个新的window 显示身份服务器的登录屏幕,我可以在其中输入正确的用户名和密码以获取访问令牌。

我现在想使用 Postman 来测试我的 api 但是,当访问令牌过期时,测试当然会失败。 我想知道的是设置脚本的最佳方法,该脚本可以 运行 之前的授权 request/tests 是 运行.

如果您只使用 ClientId 和 Secret,我可以看到很多示例,但是我们的身份服务器还要求用户使用用户名和密码登录,因为需要这些信息,以便身份信息可以包含在 returned 令牌作为请求中调用的 api 使用它来确定要为哪个用户提供 return 数据。

我实在是碰壁了,因为我看不到自动登录身份的方法。

其他人如何处理 运行针对受 IdentityServer 登录保护的 api 自动测试?

您将不得不模仿通常会通过浏览器的一组请求和响应。例如,您首先提出授权请求。服务器以 302 响应登录页面。您可以获取位置 header 并调用登录页面。然后,您将 post 登录表单操作的用户名和密码等

您可以查看此示例:https://github.com/curityio/token-handler-node-express/blob/master/test/login.sh这是一组 curl 命令,用于执行登录到 Curity Identity Server 的实例。

您应该能够在 Postman 中将其编写为一系列请求。