当前位置: 首页 > 知识库问答 >
问题:

尝试获取令牌时,Keycloak中的NullPointerException

顾宏朗
2023-03-14
    null

我得到以下错误:

我做错了什么?

共有1个答案

颛孙航
2023-03-14

您要求的是令牌交换,因此必须指定授权令牌和访问群体。

因此,您还必须提供以下参数:

  • 受众:目标客户端ID
  • subject_token:要交换的令牌
curl --request POST \
  --url http://localhost:8080/auth/realms/claudio/protocol/openid-connect/token \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data client_id=confidential-app \
  --data client_secret=8a38ba25-8422-4fc3-960c-13eac4055e5b \
  --data-urlencode "grant_type=urn:ietf:params:oauth:grant-type:token-exchange" \
  --data subject_token=eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0X25udzFWNktCbHhGWFhnaGNhOURmUUlHUnJEYjNHUHc3RGhFZjhkX2lzIn0.eyJleHAiOjE2MTQ4NzU4NjUsImlhdCI6MTYxNDg2ODY2NSwiYXV0aF90aW1lIjoxNjE0ODY4NjY1LCJqdGkiOiIwZGVkNDYxOC05ZjExLTQ1ODktYTExYi0wYzBjMzAyZGEwNTIiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODAvYXV0aC9yZWFsbXMvY2xhdWRpbyIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiJjYTJjYmYyOC1jNzVhLTQyZmQtYjRhZC04ZGYwMTc3NjYyZDYiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJwdWJsaWNfYXBwIiwic2Vzc2lvbl9zdGF0ZSI6ImU5ZTk0OTJmLWQyNjEtNGZhNC05YzQ3LTdjZmE0MGU0YjRjNyIsImFjciI6IjEiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoib3BlbmlkIGVtYWlsIHByb2ZpbGUiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInByZWZlcnJlZF91c2VybmFtZSI6InVzZXIifQ.ZqYu_KKX65-A5sn5uIsgBrt2WMabceI-Od67wZF1zxraNw7ADIDf9-K0iVb_rsWPaVnsDPfj82MKlhUOn2gQa5HNNukMNZ1K8UbdxkCM2bSymIHr8qXikl-31SD2VrQ2iZsA2_HoXb30TaRA7kZfJBO44rQI56kbqUUnquIEUd0K3GB6RNeBiZJN08xX9SUaqJy4m_0GgwYs59HvpGLJTMc0ipAjpG4IljlstM2oci6gnGF9Ld79y-FvUHLuhj-bFLC2jkRYuSyrhisr9eSqinfknxy-AW6ZQo-fVM3dSRVuj18fBVu25Gc5_dMgwuHJZNpUowWKAyqLD7EWPl26LQ \
  --data audience=public_app  
 类似资料:
  • 我试图使用从Spring应用程序中的公共客户端获取访问令牌。 谁能帮我弄清楚我做错了什么吗?

  • 我正在为我的web应用程序实现azure,并尝试通过下面的openId connect教程获得访问令牌 内容类型:application/x-www-form-urlencoded GRANT_TYPE=授权代码 client_id=2D4D11A2-F814-46A7-890A-274A72A7309E 请帮帮我 提前致谢

  • 密钥锁留档中写到,令牌endpoint可用于在授权代码流中获取临时代码,或通过隐式流、直接授权或客户端授权获取令牌。 但是即使使用response_type=code,我也无法获得授权码:只能获得令牌。我该怎么做呢? 我的测试请求: 资料来源:https://www.keycloak.org/docs/latest/server_admin/index.html#keycloak-服务器oidc-

  • 我正在尝试使用spotipy向特定用户验证我的python应用程序。我以前和其他一些用户做过这件事,没有任何问题。然而,每当我尝试使用这个用户时,我总是得到“{”错误“:“无效的授权”,“错误描述“:“无效的授权码”}” 我还尝试了几种手动方式,包括卷曲: curl-H“授权:基本OTQxNDliNjI3…WRhMzk5YTY2ZTliZWY=“-d授权类型=授权代码-d代码=AQByvdq4Vr

  • 我可以获得帐户ID为#10540382的JWT访问令牌,这是我为我们公司的电子签名实现创建的。我用这个帐户完成了JWT实现,一切顺利。但是现在公司提供了我的新帐户ID#11024495。但是有了这个新帐户,我没有获得访问令牌。令牌APIhttps://account-d.docusign.com/oauth/token现在返回“远程服务器返回错误:(400)错误请求”。 DocuSign的人能帮我

  • 当用户刚刚登录时,我如何在Keycloak服务提供程序接口中获得对当前通过身份验证的用户访问令牌的访问权限? 我假设没有办法在用户存储提供程序中获得当前用户的身份验证上下文,因为在那个时间点上用户还没有身份验证,对吗?password grant是当时获取用户身份验证上下文/令牌的正确方法吗?另一种选择可能是链接SPI,例如使用身份验证SPI并截取那里的令牌。但您似乎无法覆盖现有的身份验证流。最后