Authentication OIDC代表团

Authentication OIDC代表团,authentication,oauth-2.0,oauth,openid-connect,Authentication,Oauth 2.0,Oauth,Openid Connect,我有一个关于OIDC代表团的问题,我希望得到一些帮助,如果您对此有任何意见,我将不胜感激 我有一个OIDC OP,并希望根据其他OIDC OP对RP进行身份验证——因此,我希望将OIDC请求委托给其他远程OP。 我的OP将收到一个令牌,“iss”将是远程OP,“aud”将是我在OP上创建的OIDC客户端。然后,我将在OP中生成另一个令牌,我将向RP发出,其中“iss”是我的OP,“aud”是RP的客户端ID 我有一个节点oidc提供程序作为我的OP,我想知道如何设置它——我一直在考虑创建一个具有

我有一个关于OIDC代表团的问题,我希望得到一些帮助,如果您对此有任何意见,我将不胜感激

我有一个OIDC OP,并希望根据其他OIDC OP对RP进行身份验证——因此,我希望将OIDC请求委托给其他远程OP。 我的OP将收到一个令牌,“iss”将是远程OP,“aud”将是我在OP上创建的OIDC客户端。然后,我将在OP中生成另一个令牌,我将向RP发出,其中“iss”是我的OP,“aud”是RP的客户端ID


我有一个节点oidc提供程序作为我的OP,我想知道如何设置它——我一直在考虑创建一个具有客户端凭据授权类型的客户端,但我不确定这是否正确?

通常,如果您在不同的IdP之间链接oidc,那么您就不会使用客户端资格证书客户端凭据是为验证客户端而不是用户时保留的

在您的情况下,我将假设您希望第二个OP对您的用户进行身份验证。所以你有这种情况:

用户->你的应用程序(RP)->你的授权服务器(OP)->其他授权服务器(OP2)->OP->RP

对于RP->OP,您将使用任何有意义的流。如果您的RP是一个Web应用程序,并且您没有涉及资源服务器(API),那么您可能只想使用response\u type=id\u令牌,并使用response\u mode=form\u post将id令牌传递回您的应用程序。如果您还需要一个访问令牌,那么您可能希望在PKCE中使用身份验证代码

当OP->OP2时,您可能只需要使用response\u type=id\u token和response\u mode=form\u post,因为您的OP只需要一个id token来验证用户是否经过身份验证,并获取您需要的任何用户信息(可能还有其他角色声明等)。您也可以在这里使用身份验证代码(现在总是建议使用PKCE),但这不是必需的,因为您可以只验证ID令牌签名和nonce。然后OP仅使用OP上回调的重定向URI重定向到OP2的授权端点。验证ID令牌后,您可以将用户重定向到RP的回调和您的完成:)