使用Azure B2C的OAuth“通过传递”身份验证

问题描述

我有一个使用Azure B2C的应用程序。

如果用户的起点是我的应用程序,则可以轻松添加外部身份提供程序,例如FacebookGoogle

它将遵循标准的OAuth流程:

  1. 转到我的网站
  2. 点击登录
  3. 重定向到B2C
  4. 单击Facebook按钮并登录
  5. B2C将经过身份验证的用户详细信息返回到我的网站。

但是,现在我的网站不是起点了。

流为:

  1. 用户登录到“公司A”
  2. 用户单击按钮以转到我的网站
  3. 身份验证步骤自动发生
  4. 用户现在已在我的网站上通过身份验证。

如果我负责身份验证(例如,使用ASP.NET Identity),则“公司A”可以使用一次性代码调用我网站上的API,我可以将令牌发回。然后,当用户重定向时,我可以从“公司A”取回该令牌。

但是,我不负责auth步骤,因此遇到了麻烦。

我不认为我们要使用SAML flow(不同的规格)。 SSO Session概述似乎并没有太大帮助。 custom policies中可能有某些功能可以做到这一点,但我迷路了。

我认为我可能需要的文档是'Pass an access token though a custom policy',但是他们在示例中使用Facebook的事实使我感到困惑,因为Facebook不会调用Azure B2C,也不会向我传递有关我的任何信息可以用来发送到B2C。

那么,使用Azure B2C,如何让登录到另一个网站的用户自动登录到我的网站?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)