【问题标题】:Debugging an authorisation process in Postman在 Postman 中调试授权过程
【发布时间】:2021-07-06 12:23:02
【问题描述】:

我正在 postman 中测试 OAuth 2.0 身份验证流程。

  • 我使用Authorisation 选项卡、New Access Token 按钮来启动身份验证过程。

  • 在表单中添加信息并按下Requested Token 按钮。这打开了一个浏览器实例,我在其中键入了验证用户所需的凭据。

  • 身份验证步骤完成后,我将被重定向到为身份验证步骤打开的浏览器实例中的 localhost 页面。 (注意,redirect url 是在填写 request-token 表单时给出的,是 OAuth 2.0 规范的一部分。

  • 这就是事情变得奇怪的地方。在 localhost 的重定向页面上,我仍然显示为未登录,因为 cookie/local-storage 中没有 JWT(JSON Web 令牌)。

  • 但是,回到 Postman 主界面。如果我再次按下Request Token,我会得到 JWT,这就是我想要的。

问题:

为什么我必须再次按下request token 才能获取 JWT 令牌。大概是验证服务器没有返回 JWT 令牌,因此浏览器实例仍然没有登录?按request token 是否会向身份验证服务器发出另一个POST 请求以检索JWT 令牌。这里的流程是什么?

我该如何调试呢?

编辑:

在 Web 应用程序上再次按下 sign-in 按钮,会导致身份验证服务器错误页面。我怀疑这是因为服务器有用户的身份验证令牌所以不让用户再次登录?

【问题讨论】:

    标签: authentication debugging oauth-2.0 postman


    【解决方案1】:

    如何调试不记名令牌 当您获得令牌时,您可以使用https://jwt.ms 根据客户端 ID 和客户端密码调试收到的令牌,请注意属性:颁发日期、过期日期、颁发给和颁发者等。

    现在回到您共享的详细信息,我对 Access 令牌 URL 值表示怀疑,它应该是令牌提供程序 url。 Azure 令牌端点如下所示:https://login.microsoftonline.com//oauth2/token

    一旦您获得令牌,它就会检查授权,因此首先您应该获得令牌,然后它应该点击授权端点。 https://login.microsoftonline.com//oauth2/authorize

    此外,当您传递令牌时,会有不同的流程,我相信使用 Postman 可以更轻松地使用隐式流程。 请在此处参考不同的流程:https://datatracker.ietf.org/doc/html/rfc6749#page-8

    有关如何使用 Azure AD 颁发令牌的分步方法,请参阅: https://docs.microsoft.com/en-us/rest/api/servicebus/get-azure-active-directory-token#use-postman-to-get-the-azure-ad-token

    希望它可以帮助您获得令牌并继续您的进一步工作。

    【讨论】:

    • 我不明白这与我的问题有什么关系。我在问如何在邮递员中调试流程以验证我对令牌问题的假设。
    • 知道了。如果您更关心调试邮递员流量以了解它在哪里发出呼叫以及请求是否是新的及其结果,您可以使用 Fiddler 这样做,但为此您必须在 Postman 中禁用 SSL 证书验证。使用 fiddler 工具禁用 fiddler 证书验证:
    猜你喜欢
    • 2020-05-05
    • 2022-01-11
    • 2016-03-06
    • 1970-01-01
    • 2015-05-17
    • 2019-09-24
    • 2021-08-27
    • 2016-12-11
    • 2016-04-17
    相关资源
    最近更新 更多