0
我目前在我的多租戶CMS中使用Owin 2.0。我需要一種方法來根據租戶更改Facebook應用ID和祕密。在多租戶網站中使用Owin OAuth 2.0
問題是Owin配置代碼在執行任何其他操作之前執行。 Request.Url不是解決方案。請給我一個實用的解決方案。目前我只能通過url區分租戶。
我目前在我的多租戶CMS中使用Owin 2.0。我需要一種方法來根據租戶更改Facebook應用ID和祕密。在多租戶網站中使用Owin OAuth 2.0
問題是Owin配置代碼在執行任何其他操作之前執行。 Request.Url不是解決方案。請給我一個實用的解決方案。目前我只能通過url區分租戶。
使用該答案爲有用的提示,而不是一個解決方案
您應該使用FacebookAuthenticationProvider
定製爲每個租戶完整流程。 FacebookAuthenticationProvider
有三個事件暴露,將有助於定製。
提示:在Visual Studio
FacebookAuthenticationOptions fbOptions = new FacebookAuthenticationOptions();
fbOptions.AppId = "DefaultAppId";
fbOptions.AppSecret = "DefaultSecret";
fbOptions.CallbackPath = new PathString("DefaultTenantWithCallBackUrl");
fbOptions.Provider = new FacebookAuthenticationProvider()
{
OnApplyRedirect = (FacebookApplyRedirectContext context) =>
{
/*a way to change the facebook app id and secret depending on the tenant.*/
/*Redirect to tenant specific built url */
},
OnAuthenticated = (FacebookAuthenticatedContext context) =>
{
/*process tenant specific logic*/
return Task.FromResult(0);
},
OnReturnEndpoint = (FacebookReturnEndpointContext context) =>
{
/*process tenant specific logic*/
return Task.FromResult(0);
}
};
app.Use(typeof(FacebookAuthenticationMiddleware), app, fbOptions);
使用對象瀏覽器謝謝你的解決方案。有效!! – eadam