标签: gravitee

JWT 验证错误:JsonWebTokenError:算法无效

我正在尝试为我的网络应用程序实现单点登录。我使用 gravitee.io 进行访问管理和令牌生成。我按照gravitees 快速入门教程中的步骤进行操作,现在我想验证我的 id_token。

为了做到这一点,我正在使用node-jsonwebtoken库。我在后端使用total.js(这应该不那么重要,但我仍然想提一下)。

到目前为止我做了什么。我在total.js配置文件中有我的客户端ID和我的客户端秘密以及我的域秘密

./configs/myconfig.conf(密钥/秘密已更改)

url                 : https://sso.my-graviteeInstance.com/am
client-id           : myClientId
client-secret       : uBAscc-zd3yQWE1AsDfb7PQ7xyz
domain              : my_domain
domain-public-key   : EEEEEB3NzaC1yc2EAAAADAQABAAABAQCW4NF4R/sxG12WjioEcDIYwB2cX+IqFJXF3umV28UCHZRlMYoIFnvrXfIXObG7R9W7hk6a6wbtQWERTZxJ4LUQnfZrZQzhY/w1u2rZ3GEILtm1Vr1asDfAsdf325dfbuFf/RTyw666dFcCcpIE+yUYp2PFAqh/P20PsoekjvoeieyoUbNFGCgAoeovjyEyojvezxuTidqjaeJvU0gU4usiiDGIMhO3IPaiAud61CVtqYweTr2tX8KabeK9NNOXlTpLryBf3aTU1iXuU90mijwXZlmIzD28fWq+qupWbHcFZmmv3wADVddnxZHnFIN7DHGf5WVpb3eLvsGkIIQpGL/ZeASDFa
Run Code Online (Sandbox Code Playgroud)

我添加了一个模型来处理total.js 的登录工作流程,以便通过REST 调用从gravitee 获取jwt 令牌。到目前为止,一切都按预期进行。创建一个会话并将响应存储在其中。gravitee 响应是预期的 json,如下所示

url                 : https://sso.my-graviteeInstance.com/am
client-id           : myClientId
client-secret       : uBAscc-zd3yQWE1AsDfb7PQ7xyz
domain              : my_domain
domain-public-key   : EEEEEB3NzaC1yc2EAAAADAQABAAABAQCW4NF4R/sxG12WjioEcDIYwB2cX+IqFJXF3umV28UCHZRlMYoIFnvrXfIXObG7R9W7hk6a6wbtQWERTZxJ4LUQnfZrZQzhY/w1u2rZ3GEILtm1Vr1asDfAsdf325dfbuFf/RTyw666dFcCcpIE+yUYp2PFAqh/P20PsoekjvoeieyoUbNFGCgAoeovjyEyojvezxuTidqjaeJvU0gU4usiiDGIMhO3IPaiAud61CVtqYweTr2tX8KabeK9NNOXlTpLryBf3aTU1iXuU90mijwXZlmIzD28fWq+qupWbHcFZmmv3wADVddnxZHnFIN7DHGf5WVpb3eLvsGkIIQpGL/ZeASDFa
Run Code Online (Sandbox Code Playgroud)

我将令牌分成单独的 cookie,因为当我尝试将它们保存为单个 cookie 时,我收到一条错误,告诉我 cookie 超出了 4096 长度限制。

到目前为止一切都很好。在前端 ajax 调用中,将执行成功回调,只需设置window.location.href='/';调用我的应用程序的仪表板即可。我将此路由设置为仅在授权时才可访问,这样当调用我的仪表板时,totaljs 就会调用 onAuthorize 函数。

{
  access_token: 'some-long-token',
  token_type: 'bearer',
  expires_in: 7199,
  scope: 'openid',
  refresh_token: 'another-long-token',
  id_token: 'last-long-token' …
Run Code Online (Sandbox Code Playgroud)

javascript oauth-2.0 jwt total.js gravitee

5
推荐指数
0
解决办法
5496
查看次数

标签 统计

gravitee ×1

javascript ×1

jwt ×1

oauth-2.0 ×1

total.js ×1