在oidc中为多个提供者重定向uri

问题描述 投票:2回答:1

我希望我的依赖方应用程序(RP)能够与任何oidc提供程序连接。这意味着用户将能够设置任何支持openid connect的身份提供程序。

因此,我希望我的RP应用程序有一个重定向uri,例如

http://www.example.com/auth/callback

这样所有IDP都会在auth代码流中调用相同的IDP。

RP如何区分每个IDP?并知道要调用哪个IDP来完成oauth流程?

oauth-2.0 openid-connect
1个回答
3
投票

您可以使用auth请求的state参数:

state用于维持请求和回调之间状态的不透明值...

状态值将包含随机部分和auth privider标识符。例如“google-A41DsGDm”。 auth提供程序应该使用包含auth代码的重定向URL返回相同的状态值。所以你的/auth/callback处理程序会知道,哪个auth提供者的/token端点调用来获取令牌(在验证状态值的随机部分之后)。

为了完整起见,如果您只想使用单个后端处理程序,则可以将以/auth/callback开头的所有URI映射到处理程序,并接受以下路径参数作为auth提供程序标识符。例如/auth/callback/google?code=...

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.