如果我使用以下配置对象在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版本,但我不知道为什么一个显示完全不同的配置文件数据,另一个具有相同的配置信息。
1条答案
按热度按时间polhcujo1#
看起来把这个问题写出来有助于我找到答案。
结果我需要在回调页面的usermanagerSettings配置对象中包含loaduserinfo:
只是想保留这个问题,以防其他人也有这个问题。有点难以弄清楚