Node.js 如何使我的节点OAuth2.0服务器(提供者)像IDP代理一样工作,通过它,客户端可以使用外部IDP进行身份验证/授权?

Node.js 如何使我的节点OAuth2.0服务器(提供者)像IDP代理一样工作,通过它,客户端可以使用外部IDP进行身份验证/授权?,node.js,oauth,oauth-2.0,architecture,google-oauth,Node.js,Oauth,Oauth 2.0,Architecture,Google Oauth,我正在设置一个新的OAuth2.0服务器(提供程序)。我希望我的服务器像一个IDP代理一样,通过它,客户端可以通过外部IDP进行身份验证/授权 现在服务器工作正常,有几种授权类型,如response\u type=code+grant\u type=authorization\u code,response\u type=token,等等 我想添加一个功能,当他们访问我的/oauth/authorize&CUSTOM_IDP='google'时,可以将他们重定向到google oauth2 从现

我正在设置一个新的OAuth2.0服务器(提供程序)。我希望我的服务器像一个IDP代理一样,通过它,客户端可以通过外部IDP进行身份验证/授权

现在服务器工作正常,有几种授权类型,如
response\u type=code+grant\u type=authorization\u code,response\u type=token
,等等

我想添加一个功能,当他们访问我的
/oauth/authorize&CUSTOM_IDP='google'
时,可以将他们重定向到google oauth2

从现在开始的流程是什么

我应该如何处理从谷歌返回的代币?是否发送回数据库中的客户端/存储?或者生成另一个访问令牌并将我的访问令牌而不是google的令牌发送给他们?或者我应该两者都存储

有人能解释一下流程吗?多谢各位

编辑:我认为解决方案如下图所示,但我如何用我提供的代码实现它呢