OAuth 2.0授权
最后修改时间:2023年11月21日HTTP客户端支持OAuth 2.0授权。您可以获得访问令牌并验证您对OAuth 2.0受保护资源的请求。为了让您输入用户帐户,HTTP客户端会在JCEF浏览器中显示登录表单。这种非模式浏览器不会阻止您在 IDE 中工作,例如,允许您复制并粘贴您的用户名和密码。
典型的流程包括以下步骤:
在公共环境文件中以 JSON 格式指定身份验证设置,例如授权类型和令牌 URL。
在 HTTP 请求中使用变量引用此身份验证配置
$auth.token
。运行请求。如果身份验证成功,您将可以访问受保护的资源。您可以在HTTP客户端身份验证日志或服务工具窗口中检查收到的访问令牌并刷新令牌。
您还可以手动刷新访问令牌或通过请求新令牌来重新初始化身份验证过程。
创建身份验证配置
在.http文件的“运行方式”列表中,选择要添加身份验证配置的环境。
在工具栏,单击并选择身份验证配置。
这将身份验证配置模板添加公共到环境文件中,位于所选环境
"Auth"
下的对象中。"Security"
例如:{ "dev": { "Security": { "Auth": { "auth-id": { "Type": "OAuth2", "Grant Type": "", "Client ID": "" } } } } }
将占位符替换
auth-id
为有意义的名称,您将使用该名称来引用.http文件中的此配置。指定身份验证参数。所需身份的参数根据所选的填写
"Grant Type"
。验证参数时使用 PyCharm 编码帮助:开始输入参数名称或按获取可用 JSON 键的列表。CtrlSpace提示
您还可以使用专用的实时模板:在下面
"Auth"
,开始输入auth
并按。根据您在中选择的值,PyCharm 将所需字段添加到配置中。Enter"Grant Type"
如果要快速添加可用于身份验证配置的所有参数,请按(显示上下文操作)并选择从 JSON 架构填写所有属性。AltEnter
在 HTTP 请求中使用身份验证配置
创建身份验证配置后,可以使用它来获取访问令牌您的请求进行身份验证。
将身份验证配置的名称传递给
{{$auth.token()}}
变量,例如{{$auth.token("my-config")}}
。您可以在请求Authorization
标头或查询参数中使用此变量。单击发送请求。在访问受保护的资源之前,HTTP 客户端会向授权服务器发送请求以获取访问令牌。
出现提示时,完成身份验证过程。如果身份验证成功完成,HTTP 客户端将访问受保护的资源。
要快速添加{{$auth.token()}}
变量,您可以使用实时模板:在 HTTP 方法下的标题部分中,开始键入AuthorizationToken
并从显示的建议列表中选择可用的身份验证。
当您运行请求时,“服务”工具窗口中将提供“显示身份验证日志”按钮。它允许您查看重定向页面此类、访问令牌和其他身份验证详细信息。
手动获取访问令牌
当您在 HTTP 请求中引用身份验证配置时,HTTP 客户端会在访问受保护资源之前自动获取(或刷新)访问令牌。如果您想获取访问令牌而不是向受保护资源发送实际请求,可以手动获取访问令牌。
在http-client.env.json文件中,单击旁边的身份验证配置名称。
提示
或者,将插入符号放在
$auth.token
HTTP请求中的变量上,按(显示上下文操作),然后获取选择或身份刷新验证令牌。AltEnter如果身份验证配置包含原生环境文件,请在出现的弹出窗口中选择原生环境文件。
出现提示时,完成身份验证过程。
如果身份验证成功完成,PyCharm将获取访问令牌。如果您已经拥有访问令牌,但已过期,PyCharm将刷新它。
获取新的访问令牌
除了刷新令牌权限,您还可以通过重新身份验证来获取新令牌,即重复用于获取初始访问令牌的原始流程。
在http-client.env.json文件中,将插入符号放在身份验证配置名称上。
单击(显示上下文操作),然后选择强制获取身份验证令牌。AltEnter
如果身份验证配置包含原生环境文件,请在出现的弹出窗口中选择原生环境文件。
当插入符号.http$auth.token
文件中的变量上时,您可以调用相同的操作。在这种情况下,您不需要选择磁盘环境文件,HTTP客户端将位于与您的.http文件位于相同文件夹中的文件。
提示
授权服务器可能会将您的认证数据存储保存在内置JCEF浏览器的cookie中。在这种情况下,您将自动进行身份验证,并在cookie期间之前输入用户凭据。
当您刷新或获取新令牌时,访问和刷新令牌以及其他详细验证信息将显示在HTTP身份客户端身份验证日志工具窗口中(视图 | 工具窗口 | HTTP客户端身份验证日志)中。
认证配置参数
感谢您的反馈意见!