【发布时间】:2021-08-17 08:36:49
【问题描述】:
我正在尝试请求身份验证服务器获取 access_token 。我有一个可用的 curl 命令,但无法使用 Akka HTTP 实现。
curl -v -u CLIENT_ID:CLIENT_SECRET -k -X POST -d {} 'URL/oauth2/token?grant_type=client_credentials&scope=Scope'
或
curl -i -H 'Authorization: Basic Base64(CLIENT_ID:CLIENT_SECRET)' --request POST URL/oauth2/token -d 'grant_type=client_credentials&scope=scope'
我收到 405 Method Not 使用 http.singleRequest 请求时出现 Allowed 错误
def getToken(url:String, user: String, pass: String, scope:String) = {
Http()
.singleRequest(
Post(
Uri(url),
Map("grant_type" -> "client_credentials", "scope" -> s"$scope"),
).withHeaders(
Authorization(BasicHttpCredentials(user, pass)),
),
)
}
【问题讨论】:
-
能否给我们看看相关的代码/配置!
-
添加了示例 fn。
-
您在 scala 代码中使用的 URL 是否可能与您在 curl 调用中使用的 URL 不匹配?
-
谢谢大家,在使用 FromData 添加实体后,它现在可以工作了。 FormData .apply( Map( "grant_type" -> "client_credentials", "scope" -> "scope", ),
-
您是否介意发布您的代码作为答案,以便我们了解您将解决问题的最后一行放在哪里?