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

Keycloak id_token在REST身份验证中为null

颜英博
2023-03-14

在使用带有Keycloak的REST身份验证时,我的id_token为null(服务器端)。要连接到应用程序,我使用文档中提供的以下URI:http://localhost:port/auth/realms/{name}/protocol/openid-connect/token(带有适当的表单参数grant_type、username、password,...请参阅此处)。作为响应(客户端),我可以检索access_token和id_token。然后,我正在使用HTTP头中的“承载”授权与服务器进行讨论。在使用我的自定义客户端时,服务器端的id_token为null。
有人能解释一下为什么吗?
(为了清楚起见,使用keycloak身份验证页面,所有操作都很正常)

共有1个答案

端木权
2023-03-14

似乎只有在使用GUI身份验证界面时才使用id_token。为了避免我的问题,我将自定义元数据添加到access_token,然后将所有对id_token(在服务器端)的引用替换到access_token。通过这样做,应用程序与OAuth2协议完全兼容。

 类似资料:
  • 问题内容: 因此,我正在使用RESTeasy和Google App Engine开发REST Web服务。我的问题与GAE无关,但我提到它只是为了以防万一。碰巧的是,我自然需要保护自己的资源和我自己的用户(而不是Google的用户)。 REST Web服务的安全似乎是一个很有争议的主题,或者至少是一个非常“自由的”主题。REST对此没有施加任何标准。根据我在网络和文献上的研究,至少有3种方法适合我

  • 我刚刚开始在.NET中开发我的第一个REST API。由于它将是无状态的,我将使用令牌进行身份验证: 基本思想(System.Security.Cryptography): null 检查凭据是否有效(用户名,将哈希密码与db值进行比较) 如果为真,则加密数据对象 对生成的令牌使用HMAC,并将其存储到数据库 将令牌(不带HMAC)返回给用户(cookie/字符串) 对需要身份验证的方法的请求:

  • 我试图使用curl检索jira问题从我的公司服务器没有任何运气到目前为止。 我已经测试了这里描述的两个示例JIRA REST API示例-基本身份验证,但没有成功。我对我的用户和密码进行了base64编码,如“提供基本身份验证头”示例中所述,并输入了我想要获得的问题的url。我在浏览器中测试了url,得到了json文档,因此url是正确的。 这就是我的命令 someuser@somehost:~$

  • 我们想使用Jitsi REST API创建一个会议。我们的Jitsi实例已经受到Prosody的保护:只有某些用户可以主持会议(他们必须使用用户和密码凭据进行身份验证才能主持会议室)。现在,在他们这么做之后,计划是通过创建一个来宾密码来保护房间,聊天伙伴/来宾需要输入该密码才能加入会议。这个过程需要通过REST API实现自动化:我们希望通过REST API创建会议,并传递一个需要来宾输入的密码。

  • 我有一个REST Jersey web服务。 php中基于令牌的身份验证 它在答复中提到; “然后它发送此令牌和请求的某些特征的哈希来验证请求,例如sha1(令牌+时间戳+请求URL+请求正文)。您的服务器可以对此进行验证,而客户端不必在每个请求上以纯文本发送令牌。” 另一个问题是,一旦服务器接收到这个令牌的哈希值(包括时间戳和用户ID等),服务器如何在没有存储令牌的查找表或数据库的情况下从这个令

  • 问题是当我尝试验证: 正文: 我总是有一个401错误状态,因为我的自定义入口点。在我看来,spring security并没有调用Authentication-Manager。我错过什么了吗?