javascript oidc-client-js不显示oidc-client-js显示的所有配置文件声明

ql3eal8s  于 2023-04-19  发布在  Java
关注(0)|答案(1)|浏览(148)

如果我使用以下配置对象在oidc-client-ts typescript模块上示例化UserManager:

var config = {
    authority: "https://localhost:3000",
    client_id: "js",
    redirect_uri: "https://localhost:3001/callback.html",
    response_type: "code",
    scope: "openid profile IdentityServerApi colour", 
    post_logout_redirect_uri: "https://localhost:3001/index.html",
  }

调用usermanager.getUser返回一个用户对象,该对象具有以下配置文件声明:

{
    "iss": "https://localhost:3000",
    "iat": 1681658331,
    "exp": 1681658631,
    "aud": "js",
    "sid": "E5E4621779C8970433CEE2E6472FF8DE",
    "sub": "cc23a1a1-a8ff-4caf-8fef-555d98923b8a",
    "idp": "local"
  }

如果我对oidc-client-js使用相同的配置,我会得到这个配置文件对象

{
    "amr": [
      "pwd"
    ],
    "sid": "32A90BF8B0EBF7780BC9B8E0AD3DDE8B",
    "sub": "cc23a1a1-a8ff-4caf-8fef-555d98923b8a",
    "auth_time": 1681659272,
    "idp": "local",
    "name": "theadmin@email.com",
    "preferred_username": "theadmin@email.com",
    "favorite_colour": "FAVORITECOLOUR_DEFAULT"
  }

我已经尝试更新配置,以包括以下值,因为他们的文档建议,与这些值,我可能会得到的结果im寻找,但他们似乎没有什么不同的是返回

{
    ...
    client_authentication: "client_secret_post",
    loadUserInfo: true,
    mergeClaims: true,
    filterProtocolClaims: false
  }

我的授权enpoint显示,当使用ts模块时,我的userClaims在登录时被两次请求(一次在重定向回客户端回调页面时,第二次在重定向回客户端主页后调用getUser时),但是使用js模块时,它们被请求了3次(都是在第一次重定向回客户端时)
是在配置中的问题用于设置UserManager或重定向或什么?
这是我在客户端回调页面上为UserManager使用的配置:

{
    authority: "https://localhost:3000", 
    response_mode: "query", 
    client_id: "js",
    redirect_uri: "https://localhost:3001/callback.html",
  }

原谅我对oAuth的无知,我想使用新的ts版本,但我不知道为什么一个显示完全不同的配置文件数据,另一个具有相同的配置信息。

polhcujo

polhcujo1#

看起来把这个问题写出来有助于我找到答案。
结果我需要在回调页面的usermanagerSettings配置对象中包含loaduserinfo:

{
    ....
    loadUserInfo: true,
  })

只是想保留这个问题,以防其他人也有这个问题。有点难以弄清楚

相关问题