wso2正在获取用于密码授予的无效凭据的令牌

wso2正在获取用于密码授予的无效凭据的令牌,wso2,wso2esb,wso2is,wso2-am,wso2carbon,Wso2,Wso2esb,Wso2is,Wso2 Am,Wso2carbon,我使用WSO2 API管理器和WSO2 identity server的组合,并使用以下文档进行配置 在这种情况下,WSO2 idenity服务器充当密钥管理器,API管理器管理作用域 我已经配置好了,它可以工作了。 我试着使用密码授权,它给了我一个承载令牌,即使我打错了用户名和密码。它感觉好像只是检查我在url中传递的客户端id curl -X POST \ https://mycustomwsourl.in:9443/oauth2/token \ -H 'authorization

我使用WSO2 API管理器和WSO2 identity server的组合,并使用以下文档进行配置

在这种情况下,WSO2 idenity服务器充当密钥管理器,API管理器管理作用域

我已经配置好了,它可以工作了。 我试着使用密码授权,它给了我一个承载令牌,即使我打错了用户名和密码。它感觉好像只是检查我在url中传递的客户端id

curl -X POST \
  https://mycustomwsourl.in:9443/oauth2/token \
  -H 'authorization: Basic TnVMb0tGRmJlZ3hqUThNeW5uYzlHWmE1bkpBYTpKSzRINmp5M3V4Zl8wNFZNX25lbDhncnJwMm9h' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -H 'grant_type: password' \
  -H 'password: testuser' \ 
  -H 'scope: SCOPE_EDIT SCOPE_READ SCOPE_REMOVE' \
  -H 'username: testuser'
如果我以不同的方式传递客户机代码,它会抛出一个错误。否则它将始终返回承载令牌


这可能是因为identity server没有充当密钥管理器吗?有什么配置吗?

这很奇怪。它实际上应该发送一条错误消息,因为您将
grant\u type
作为头发送,这是错误的。所有这些数据都应该像这样发送到POST正文中

curl -k -d "grant_type=password&username=<username>&password=<password>" -H "Authorization: Basic d1U2MkRqbHlEQm5xODdHbEJ3cGxmcXZtQWJBYTprc2RTZG9lZkREUDd3cGFFbGZxdm1qRHVl" -H "Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token
curl-k-d“grant_type=password&username=&password=“-H”授权:基本D1U2MKRQBHLEQM5xODDHBEJ3CGxMCXmCxZTQWJBYTPRC2RTZG9LZKREUDD3CGFBGzDM1QRHVL“-H”内容类型:应用程序/x-www-form-urlencoded”https://localhost:8243/token

参考资料:

让我试试简单的卷发。我刚刚从我们的应用程序生成了curl。代码可能有问题。谢谢提示,它应该是POST BODY端口8243的意义是什么?哪个服务侦听此端口?
:8243/token
是apim中的代理API,它面向identity server的
:9443/oauth2/token
。您应该始终使用前者。有些情况下8243是不可访问的。它是axis\s.xml中的一个吗?我是否需要更改下面的任何内容才能使其正常工作?我有一个自定义域名8243,在是真正的KM包,8243(突触传输)端口不可用。它只在阿皮姆开放。因此,如果您正确地遵循文档,APIM网关的
:8243/token
api应该位于密钥管理器的
:9443/oauth2/token
api前面。