我在多租户应用程序中使用ASP.NET Identity 2框架(ASP.NET MVC 5)。

我可以轻松集成Facebook应用程序。它可以在startup.cs中配置它的范围/凭据等。

但我有x域和x Facebook应用程序,我将决定在运行时使用哪些凭据。

如何动态地更改/设置外部登录提供商设置而不是应用程序启动?

有帮助吗?

解决方案

身份2框架不支持设置或注册动态外部登录提供程序(例如,能够更改Facebook ClientID凭据)。您必须手动启用自己的解决方案。

该框架基于OWIN,因此控制器只能通过使用共享上下文传递给Inearenication提供商的消息。由ASP.NET身份系统提供的那个不支持中继这些消息(例如要更改的凭据)。 Owin不允许您更改已绑定的中间件对象的设置。

此外,扩展Microsoft为每个主要外部登录提供商(即Facebook)提供的Identity系统使用我们无法继承或修改的内部类来构建。所以这让我们陷入了卡。

您可以为Facebook发起您自己的Owin中间件提供商,并使用共享的上下文 - 这应该是现代做事的方式。或者只是使用常规MVC系统来处理此功能。您可以使用它们的身份Facebook扩展名作为指导。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top