Blogg » Problem med inloggning via Internet Explorer för en Facebookapplikation

Problem med inloggning via Internet Explorer för en Facebookapplikation

Om man utvecklar en facebookapp (i en IFrame) och upptäcker att den inte kan spara kakor från användare av Internet Explorer (vilket i sin tur ofta leder till att funktioner som inloggning inte fungerar) kan det ha att göra med att Internet Explorer använder den föråldrade standarden P3P.

För en Ruby on Rails applikation löses detta enkelt genom att följande läggs till i något filter som körs som "before_filter" inuti ApplicationController (eller för den Controller som problemet uppstår i:

# Kodexempel för Ruby on Rails
class ApplicationController < ActionController:Base
	before_filter :before_method
	#...
	def before_method
		headers['P3P'] = 'CP="ALL DSP COR CURa ADMa DEVa OUR IND COM NAV"'
	end

För PHP applikationer kan man lösa detta genom att se till att följande kodsnutt körs på de sidor där man problemet uppstår:

 header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');

Länkar för den intresserade (StackOverflowdiskussionen bör tas med en nypa salt (se länk 1):

  1. http://www.zdnet.com/blog/facebook/facebook-to-microsoft-p3p-is-outdated-what-else-ya-got/9332
  2. http://stackoverflow.com/questions/389456/cookie-blocked-not-saved-in-iframe-in-internet-explorer/389458#389458

Publicerat för mer än 4 år sedan.
Uppdaterades senast: ungefär 4 år sedan.

Inlägget taggades med följande taggar: php rails facebook facebookapp p3p cookies internet explorer IFrame IE

comments powered by Disqus