WSO2 API 经理,什么是授权:基本 <long hex value>?

WSO2 API Manager, what is Authorization: Basic <long hex value>?

我是 WSO2 API Manager (APIM) 的新手,使用版本 1.9.1。我指的是 link:https://docs.wso2.com/display/AM170/Token+API,在这个 link 中,他们给出了 curl 命令

curl -k -d "grant_type=password&username=<username>&password=
<password>&scope=<scope1> <scope2>" -H "Authorization: Basic 
SVpzSWk2SERiQjVlOFZLZFpBblVpX2ZaM2Y4YTpHbTBiSjZvV1Y4ZkM1T1FMTGxDNmpzbEFDVzhh, 
Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token

现在我试图理解上面的 curl 命令,以便创建 Junit 将所有这些 headersbody 值映射到我的 Spring RestTemplateAPI的。我了解所有参数,但我不了解下面

Authorization: Basic 
    SVpzSWk2SERiQjVlOFZLZFpBblVpX2ZaM2Y4YTpHbTBiSjZvV1Y4ZkM1T1FMTGxDNmpzbEFDVzhh

能否请您解释一下它的用途是什么?什么叫长十六进制字符串?

据我了解(通过阅读同一份文档)这是 base64 编码的字符串

它还说 "Combine the consumer key and consumer secret keys in the format consumer-key:consumer-secret and encode the combined string using base64."

您可以在 http://base64encode.org and What is base 64 encoding used for?

上获得更多相关信息

您必须解码上面的字符串 (SVpzSWk2SERiQjVlOFZLZFpBblVpX2ZaM2Y4YTpHbTBiSjZvV1Y4ZkM1T1FMTGxDNmpzbEFDVzhh) 并且解码后的字符串是 IZsIi6HDbB5e8VKdZAnUi_fZ3f8a:Gm0bJ6oWV8fC5OQLLlC6jslACW8a

通常这些字符串与冒号(clientId:clientSecret) 组合并使用base64 编码。 IZsIi6HDbB5e8VKdZAnUi_fZ3f8a 是客户端 ID,Gm0bJ6oWV8fC5OQLLlC6jslACW8a 是客户端密码。

它的用法:- 您正在尝试使用上述 curl 命令获取访问令牌。当您使用上述授权类型时,您必须提供客户端 ID 和客户端密码才能获取访问令牌。