如何检测哪个身份提供商发送响应

时间:2018-11-26 11:02:14

标签: single-sign-on oidc

当前,我正在尝试实现一个支持多个身份提供者的OpenID Connect解决方案。我选择为此使用授权代码流。

当用户打开登录屏幕时,将显示受支持的身份提供者的徽标。单击徽标/身份提供者后,系统将存储必要的cookie,并将用户重定向到身份提供者。

身份提供者的响应包含以下信息:

  1. 授权码
  2. 会话状态
  3. 状态
  4. 范围

现在,如果我要发出令牌请求,则不知道要使用哪个身份提供者。为了解决这个问题,我想到了两件事:

  1. 使用UrlReferrer
  2. 将使用过的提供者存储在cookie中(已加密)。

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我认为,将提供者详细信息存储在会话或cookie中将是更好的选择,因为您稍后可能需要在流程中使用其他终结点(例如自省,认证)。