1

我在多租戶應用程序中使用ASP.NET身份2框架(ASP.NET MVC 5)。如何在Asp.Net身份框架中動態更改/設置Facebook應用程序

我可以輕鬆整合Facebook應用程序。它可以在Startup.cs中配置它的範圍/憑證等。

但我有x個域和x Facebook應用程序,我將決定在運行時使用哪些憑據。

如何動態更改/設置外部登錄提供程序設置而不是啓動應用程序?

回答

1

Identity 2 Framework不支持設置或註冊動態外部登錄提供程序(例如能夠更改Facebook clientId憑據)。您將不得不手動演示我們自己的解決方案。

該框架基於OWIN,因此控制器只能通過使用共享上下文將消息傳遞給認證提供程序。 ASP.NET Identity系統提供的不支持轉發這些類型的消息(例如您想要更改的憑據)。 OWIN不允許您更改已綁定的MiddleWare對象的設置。此外,Microsoft爲每個主要外部登錄提供商(即Facebook)提供的Identity系統的擴展是使用我們不能繼承或修改的內部類來構建的。所以這讓我們陷入困境。

您可以將您自己的OWIN MiddleWare提供商用於facebook,並使用共享上下文 - 這應該是現代的做事方式。或者只是使用常規的MVC系統來處理這個問題。您可以使用Identity Facebook Extension的源代碼作爲指導。

相關問題