为什么节点-oidc提供者拒绝为/userinfo端点和api(资源服务器)调用发出单个令牌?
在oauth2和open id connect规范中,我都看不到授权服务器不应该为这两种使用发出访问令牌。这个答复还说,这不是不可能的:Can we request OAuth 2 scopes in OIDC?
根据节点-oidc-provider的文档:https://github.com/panva/node-oidc-provider/tree/main/docs#featuresuserinfo
启用userinfo端点。它的使用需要一个不透明的访问令牌,该令牌至少具有openid作用域,即,而没有资源服务器受众。
我遗漏了一些东西,或者我可以通过api调用功能对用户进行身份验证并直接获得访问令牌吗?
我的情况是:我们有第三方移动应用程序、我们自己的授权服务器和一个api。因此,用户使用“连接我们的服务器”登录到移动应用程序中。鉴于上述情况,有必要
userinfo)
这需要两个不同的用户交互,这可能是不好的。
这是根据@下面的答复更新的信息。
根据你的建议,如果我错了,请纠正我:
对吗?
使用刷新令牌获取资源范围访问令牌可能会迫使最终用户将这个新范围授予客户端。因为,如前所述,我们没有在授权请求中包括资源范围。这是一种新的与最终用户的交互.对吧?
对此有什么解释吗?
发布于 2022-10-14 21:11:22
我在oauth2和open id连接规范中都没有看到授权服务器不应该为这两种使用发出访问令牌
虽然这是真的,但也没有语言说这是个好主意,但事实是,事实并非如此。
UserInfo端点只是另一个资源服务器,不可能为多个资源发出访问令牌(例如,使用resource参数的两个API)。这是我做出的一个选择,不允许资源服务器获取它们接收到的访问令牌,并使用userinfo端点,这不是它们打算使用的资源。
这需要两个不同的用户交互,这可能是不好的。
你不需要两个互动。首先,移动客户端可以从ID令牌获取userinfo返回的所有内容。第二,给定默认行为,如果客户端没有在令牌端点使用相应的资源参数,则仍然会发出userinfo令牌。我的建议是选择ID令牌路由,否则配置环境以发出刷新令牌,并让客户端应用程序通过这种方式从单个交互中获得两个访问令牌。
https://stackoverflow.com/questions/73999021
复制相似问题