如何在ASP.NET身份框架中动态更改/设置Facebook应用程序
-
21-12-2019 - |
题
我在多租户应用程序中使用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扩展名作为指导。
不隶属于 StackOverflow