groovy - 如何在groovy中使用具有特殊字符的客户端密码
问题描述
我正在尝试运行 Microsoft 图形 API 来生成令牌。这在邮递员中工作正常,但在 SoapUI 中失败。我认为客户端密码具有导致问题的特殊字符。
客户秘密:
osi5oX-:?0A3YiG4aCpZ.Y[+PW51pZVY
API URL (POST) :
https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/token
身体:
client_id=xxxxx&client_secret=osi5oX-:?0A3YiG4aCpZ.Y[+PW51pZVY&grant_type=client_credentials&scope=https://graph.microsoft.com/.default
错误:
{"error":"invalid_client","error_description":"AADSTS7000215: Invalid client secret is provided.\r\nTrace ID: 32b5bf83-f908-4b4e-9fe6-5b05fd949e00\r\nCorrelation ID: b9b7ce92-f5d1-41d1-8d92-eed8a6a5470b\r\nTimestamp: 2020-05-07 17:27:08Z","error_codes":[7000215],"timestamp":"2020-05-07 17:27:08Z","trace_id":"32b5bf83-f908-4b4e-9fe6-5b05fd949e00","correlation_id":"b9b7ce92-f5d1-41d1-8d92-eed8a6a5470b","error_uri":"https://login.microsoftonline.com/error?code=7000215"}
解决方案
编码后使用秘密,它可以工作。
import java.net.URLEncoder;
String url = "osi5oX-:?0A3YiG4aCpZ.Y[+PW51pZVY"
String encodedUrl = URLEncoder.encode(url, "UTF-8" );
println(encodedUrl)
推荐阅读
- opengl - GLUT/OpenGl 未定义的引用
- html - Elementor:如何在最后停止 wordpress 画廊,没有循环?
- java - 你如何引用以前用另一种方法创建的列表并搜索它?
- c# - 在 .NET 中调用 GCP 的 API
- firebase - 如何将数据从后端节点 js 返回到前端 html?
- java - NodePacker - 不明白这个问题
- javascript - 为什么 JavaScript 需要不同的时间来运行相同的函数?
- python - 如何在 Python 中的 SQL 连接中替换字符串
- chart.js - 是否可以对齐垂直堆积图
- java - 带有@Secured(SecurityRule.IS_ANONYMOUS) 注释的 API URL 上带有声明性 Http 客户端的 401