Login with Facebook
I noticed that Sitefinity comes packaged with the Facebook C# SDK 4.0.2. I want to implement a "Login with Facebook" button that is integrated with Sitefinity but I have run into several problems. Is there a sample project that already has this functionality built in that I can reference?
In the absence of a sample project, I would like to upgrade the SDK to the latest version. I have been able to successfully create Login With Facebook functionality (not integrated with Sitefinity, but with plain old ASP.NET) with the recent SDKs but 4.0.2 does not seem to work. However, when I update the DLLs, Sitefinity throws an error - something about not being able to find a particular type. I assume that it is looking for a class from 4.0.2 that no longer exists anymore. So, in the absence of a sample project running on 4.0.2, has anyone had success with upgrading the SDK to a newer version?
Thanks!
Jeff
Hi Jeff,
We don't have a built-in Facebook connector, and we haven't planned time for it. If there are a lot of customers requesting that, the Sitefinity team might change the priority of the features planned for Q2 and squeeze that it.
Currently in The Charity starter kit for Sitefinity there is a implementation of social media widgets including Facebook, Twitter & Flickr the widgets display feeds from those sites.
All the best,
Stanislav Velikov
the Telerik team
+1 for login with Facebook
Thanks for the info Stanislav. Do you know if it possible for me to overwrite the Facebook DLLs to use a newer version of the toolkit?
Hello Jeff,
The currently used dll`s re version 4.0.2. Changing them should only affect your facebook widget implementations and their communication with Sitefinity. However please make the changes at a test project to avoid problems.
Please write back if you need further help.
Kind regards,
Stanislav Velikov
the Telerik team
Unfortunately, changing the DLLs affect more than just my widget implementation. In fact, changing them crashes the entire site. See my error below. I am a little confused why Sitefinity would be tightly coupled to this Facebook C# SDK version when it doesnt even make use of it.
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
Description: An unhandled exception occurred during
the execution of the current web request. Please review the stack trace
for more information about the error and where it originated in the
code.
Exception Details: System.Reflection.ReflectionTypeLoadException:
Unable to load one or more of the requested types. Retrieve the
LoaderExceptions property for more information.
Source Error:
An unhandled exception was generated during the execution of the current
web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
Stack Trace:
[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]
DynamicModule.ns.Wrapped_OpenAccessMetaDataProvider_53e408f42a5346588623f0fd68153231.Initialize(String providerName, NameValueCollection config, Type managerType) +195
Telerik.Sitefinity.Data.ManagerBase`1.InstantiateProvider(IDataProviderSettings providerSettings, Type providerType, ExceptionPolicyName policy, ManagerBase`1 manager) +1478
Telerik.Sitefinity.Data.ManagerBase`1.InstantiateProvider(IDataProviderSettings providerSettings, ExceptionPolicyName policy, ManagerBase`1 manager) +63
Telerik.Sitefinity.Data.ManagerBase`1.SetProvider(String providerName, String transactionName) +161
Telerik.Sitefinity.Data.ManagerBase`1..ctor(String providerName, String transactionName) +131
BuildUp_Telerik.Sitefinity.Data.Metadata.MetadataManager(IBuilderContext ) +179
Telerik.Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.BuildUp(IBuilderContext context) +12
Telerik.Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) +195
Telerik.Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) +190
Telerik.Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides) +163
[ResolutionFailedException: Resolution of the dependency failed, type = "Telerik.Sitefinity.Data.Metadata.MetadataManager", name = "OpenAccessDataProvider".
Exception occurred while: Calling constructor Telerik.Sitefinity.Data.Metadata.MetadataManager(System.String providerName).
Exception is: ReflectionTypeLoadException - Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
-----------------------------------------------
At the time of the exception, the container was:
Resolving Telerik.Sitefinity.Data.Metadata.MetadataManager,OpenAccessDataProvider
Calling constructor Telerik.Sitefinity.Data.Metadata.MetadataManager(System.String providerName)
]
DynamicModule.ns.Wrapped_OpenAccessUserActivityProvider_630bf99a8532459383f7887f858d0eb8.Initialize(String providerName, NameValueCollection config, Type managerType) +195
Telerik.Sitefinity.Data.ManagerBase`1.InstantiateProvider(IDataProviderSettings providerSettings, Type providerType, ExceptionPolicyName policy, ManagerBase`1 manager) +1478
Telerik.Sitefinity.Data.ManagerBase`1.InstantiateProvider(IDataProviderSettings providerSettings, ExceptionPolicyName policy, ManagerBase`1 manager) +63
Telerik.Sitefinity.Data.ManagerBase`1.SetProvider(String providerName, String transactionName) +161
Telerik.Sitefinity.Data.ManagerBase`1..ctor(String providerName, String transactionName) +131
Telerik.Sitefinity.Security.UserActivityManager..ctor() +12
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +98
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +241
System.Activator.CreateInstance() +103
Telerik.Sitefinity.Data.ManagerBase`1.GetManager(String providerName, String transactionName) +80
Telerik.Sitefinity.Security.SecurityManager.AuthenticateRequest(HttpContextBase context) +1014
Telerik.Sitefinity.Web.SitefinityHttpModule.Context_AuthenticateRequest(Object sender, EventArgs e) +18
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Hi Jeff,
Sorry for misleading you. Sitefinity really needs Facebook.Web.dll with its current version to operate. Facebook connector is available for Sitefinity 3.7 and Sitefinity 4 currently don`t have all features of 3.7 available. We are adding them with each release.
All the best,
Stanislav Velikov
the Telerik team
Has anyone managed to upgrade the SDK to the correct version without the whole site crashing????
Rob
Roberto, I managed to get this to work by downloading the source code for the FB SDK v4.2, changing the assembly information to "4.0.2" and recompiling it in Visual Studio. In essence, I was tricking Sitefinity to use a newer version. This worked for a while, but not anymore. The FB SDK is so far from what it used to be at v4.0.2 that Facebook integration with Sitefinity v4 just isn't possible anymore. A Telerik rep said that they are planning on fixing this but I haven't noticed it make it into a release version yet.
We are needing login w/ facebook functionality in a sitefinity custom module. Is this something that will help? www.sitefinity.com/.../sitefinity-connector-for-facebook
I've done it in a dnn module w/ the fb javascript sdk, but haven't made the tie back to the server side that way.
When implementing
the External STS with Sitefinity CMS on the project, the platform shows a
message that says that the file OAuthLoginForm.ascx. does not exist. I would
like to know if I need to change the file path or if I have a Project version
that is not the correct one. This is the link I used to download the
project:github.com/.../Sitefinity-External-STS-Integration.
This is the link
with my project:
www.wetransfer.com/.../d131ad